Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

get_the_id vs. post->ID vs. the_id / get_post_meta

I think it must be pretty basic question but I am only starting. Can someone have a look at the 3 versions of the same (?) code below and say what the difference is? All of them seem to work fine in the loop I am working on.

Which should be used: $post->ID, $the_ID or get_the_id()? Is it necessary to have global $post;?

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

or

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

or

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

Many thanks for your help

like image 749
TheElear Avatar asked Nov 17 '14 17:11

TheElear


1 Answers

If you're inside a WordPress loop, then $post->ID it's the same as using get_the_ID()

You shouldn't need to globalize $post since it's already in the scope of a WordPress loop.

I've never seen code using $the_ID, so I would avoid using that.

The safest choice would be to use get_the_ID()

like image 176
felipelavinz Avatar answered Sep 22 '22 09:09

felipelavinz