2014-11-17 6 views
5

Ich denke, es muss ziemlich grundlegende Frage sein, aber ich fange nur an. Kann jemand die 3 Versionen des gleichen (?) Codes unten sehen und sagen, was der Unterschied ist? Sie alle scheinen in der Schleife, an der ich arbeite, gut zu funktionieren.get_the_id vs. post-> ID vs. the_id/get_post_meta

Welches sollte verwendet werden: $post->ID, $the_ID oder get_the_id()? Ist es notwendig, global $post; zu haben?

global $post; 
$content = get_post_meta($post->ID, ‘my_custom_field', true); 
echo $content; 

oder

$content = get_post_meta($the_ID, ‘my_custom_field', true); 
echo $content; 

oder

$content = get_post_meta(get_the_id(), ‘my_custom_field’, true); 
echo $content; 

Vielen Dank für Ihre Hilfe

Antwort

4

Wenn Sie in einem Wordpress-Schleife sind, dann $post->ID es ist das gleiche wie mit get_the_ID()

Sie sollten nicht $post globalisieren müssen, da es bereits im Rahmen einer WordPress-Schleife ist.

Ich habe nie Code mit $the_ID gesehen, also würde ich vermeiden, das zu verwenden.

Die sicherste Wahl get_the_ID()

+0

Dank felipelavinz für eine schnelle und informative Antwort zu verwenden wäre. Das leuchtet mir ein. Es ist mein Fehler mit dem $ the_ID, da ich denke, dass ich die_ID() und nicht $ the_ID gesehen habe. Nachdem gesagt wurde, dass der obige Code gut funktioniert? – TheElear

+0

Nein, 'the_ID()' gibt die $ post-> ID zurück, so dass es nicht funktioniert, wenn 'get_post_meta()' – felipelavinz

+0

verwendet wird. Sie haben Recht. Ich habe es überprüft und es funktioniert nicht mit the_ID(). – TheElear

Verwandte Themen