2014-11-17 2 views
5

Я думаю, что это должен быть довольно простой вопрос, но я только начинаю. Может ли кто-нибудь взглянуть на 3 версии одного и того же (?) Кода ниже и сказать, в чем разница? Все они, похоже, отлично работают в цикле, над которым я работаю.get_the_id vs. post-> ID vs. the_id/get_post_meta

Какой должен использоваться: $post->ID, $the_ID или get_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; 

Большое спасибо за вашу помощь

ответ

4

Если вы внутри цикла WordPress, то $post->ID это то же самое, используя get_the_ID()

Вам не нужно глобализовать $post, так как он уже входит в круг WordPress.

Я никогда не видел код, используя $the_ID, поэтому я бы не стал использовать его.

Самый безопасный выбор должен был бы использовать get_the_ID()

+0

Спасибо felipelavinz за быстрый и содержательный ответ. Имеют смысл для меня. Это мое плохое с $ the_ID, поскольку я думаю, что я видел the_ID(), а не $ the_ID. Сказав, что код выше отлично работает с ним? – TheElear

+0

Нет, 'the_ID()' повторяет идентификатор $ post->, поэтому он не будет работать при использовании 'get_post_meta()' – felipelavinz

+0

Вы верны. Я дважды проверял и не работает с__ID(). – TheElear

Смежные вопросы