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

时间:2014-11-17 17:49:51

标签: php wordpress variables global

我认为这一定是非常基本的问题,但我只是开始。有人可以查看下面相同(?)代码的3个版本,并说明有什么区别?所有这些似乎都在我正在研究的循环中正常工作。

应该使用哪个:$post->ID$the_IDget_the_id()? 是否有必要global $post;

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

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

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

非常感谢你的帮助

1 个答案:

答案 0 :(得分:8)

如果您在WordPress循环中,那么$post->ID与使用get_the_ID()

相同

您不应该全球化$post,因为它已经在WordPress循环的范围内。

我从未见过使用$the_ID的代码,所以我会避免使用它。

最安全的选择是使用get_the_ID()