简体   繁体   中英

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

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()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM