2016-01-17 2 views
0

У меня есть форма, которая собирает данные о продукте, а затем помещает данные в таблицу wp_posts и таблицу wp_postmeta. Я могу создать постоянную ссылку вокруг идентификатора, и если я затем сделаю wp_redirect на эту постоянную ссылку, WordPress должен попытаться отобразить страницу.Получение идентификатора страницы в шаблоне, который не имеет петли

Шаблон страницы называется listing.php и не имеет Loop. Его единственная цель - отображать эти страницы продукта, помещая данные в таблицу wp_posts и таблицу wp_postmeta в различные div. Но мне интересно, как шаблон может получить идентификатор создаваемой страницы, чтобы он мог получить доступ к таблице wp_posts и таблице wp_postmeta. Я хотел бы сделать что-то вроде $meta = get_post_meta(get_the_ID()), но codex говорит, что вы можете использовать только get_the_ID() в Loop, и у меня нет одного из них. Итак, как я должен это делать?

Благодаря

ответ

1

Самый надежный и надежный способ получить идентификатор страницы текущей страницы, чтобы использовать запрашиваемый объект. Эти две функции get_queried_object() и get_queried_object_id() проведет информацию о текущей странице (на категории, теги, таксономией и автор страниц будет подавляющих текущей категории, теги, курсовую и автора соответственно)

Чтобы получить идентификатор страницы , просто используйте

$page_id = get_queried_object_id(); 
echo $page_id; 
+0

Все три из этих методов получают ID для меня в моем шаблоне без Loop. Я подозреваю, что они хотят, чтобы вы поместили его в Loop, чтобы получить идентификатор текущего сообщения, обрабатываемого Loop. Для меня я могу разместить его где угодно, потому что шаблон обрабатывает только одну страницу. – Steve

0

Вы можете захватить пост идентификатор из глобальной переменной $ пост.

глобальный $ post; echo $ post-> ID;

+0

В кодексе указано, что «$ post содержит данные с текущего поста в The Loop». Будет ли это действительно, когда у меня нет петли? – Steve

+0

Я мог ошибаться, но я думаю, что данные в глобальном столбце $ post устанавливаются до того, как шаблоны страниц будут загружены, поэтому он должен иметь всю информацию о сообщении, даже если нет цикла. –

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