Вручную установите глобальные переменные $ post с идентификатором, чтобы использовать теги шаблона

19

У меня есть функция получения идентификаторов сообщений с помощью специальных средств.

Мне нужно иметь возможность установить для global $postтого, чтобы использовать такие функции, как the_content(), который не позволяет идентификатор в качестве параметра.

Как мне этого добиться?

Мягкий пух
источник
1
Что именно вы имеете в виду под «установить глобальный пост $»? Не могли бы вы а) опубликовать функцию получения идентификаторов и проиллюстрировать / сделать эскиз к вашему варианту использования?
Кайзер

Ответы:

27

Когда вы проходите через ваш цикл, добавьте это:

global $post; 
$post = get_post( $ID, OBJECT );
setup_postdata( $post );

//Do something

wp_reset_postdata();
Chris_O
источник
3

Для работы с сообщениями вне цикла попробуйте использовать:

get_post(post_id)

чтобы получить сообщение с определенным идентификатором из цикла , при этом глобальный объект $ post будет содержать сообщение, которое вы только что выбрали. Теперь вы можете получить содержимое, используя:

$post->post_content ,

проверьте документацию get_post на Wordpress Codex

wdalhaj
источник