Как получить идентификатор текущей страницы вне цикла?

36

Как получить идентификатор текущей страницы вне цикла?

Мухаммед Шоаиб Муртаза
источник
3
Странно, как вы используете код, что вы пробовали. Какие ошибки вы получаете. В сложившейся ситуации вам трудно помочь, и все ответы - это выстрел в темноте. Пожалуйста, внесите изменения
Питер Гусен
<?php global $post; $thePostID=$post->ID;?> <?php elseif($thePostID==35) : ?>
Мухаммед Шоаиб Муртаза
3
Пожалуйста, отправьте изменения со всем дополнительным кодом / информацией. Не используйте раздел комментариев для материала, который должен быть в вашем вопросе :-)
Питер Гусен
Ваше сообщение было автоматически помечено как низкое качество, пожалуйста, выполните мои запросы выше :-)
Pieter Goosen
1
Как я уже сказал, вся эта информация должна быть в вашем вопросе, а не в разделе комментариев. Пожалуйста, измените свой вопрос
Питер Гусен

Ответы:

56

Пытаться

global $post;
echo $post->ID;

или (я не знаю разницы)

global $wp_query;
echo $wp_query->post->ID;
Caramba
источник
Я перепробовал все вещи, найденные в Google, но ничего не произошло
Мухаммед Шоаиб Муртаза
трудно понять, что "все, что вы нашли" :) убедитесь, что код находится в функции, что вы вызываете эту функцию и начинаете отлаживать с выводом чего-то еще, прежде чем это должно быть видно ...
caramba
2
я не получил идентификатор с помощью функции, и "материал"global $wp_query; $thePostID = $wp_query->post->ID; global $post; $thePostID = $post->ID; global $wp_query; $page = $wp_query->get_queried_object(); $page_id = $page->ID; $page_id = get_queried_object_id();
Мухаммед Шоаиб Муртаза
первый был правильным ...
Мухаммед Шоаиб Муртаза
1
Эти решения дадут вам идентификатор страницы только в том случае, если они используются до запуска цикла. Как только цикл начнется, $postбудет установлен каждый пост в цикле по очереди.
s_ha_dum
18

Вы можете просто сделать,

$page_id = get_queried_object_id();
Бикаш Вайба
источник
-7

Вы можете сделать это, добавив ниже code.it даст вам идентификатор текущей страницы.

 $postid = get_the_ID();
 echo $postid;
Билал Ахмад
источник
9
get_the_ID()является функцией Loop - иначе она предназначена для использования внутри Loop. Следовательно, на самом деле не решается вопрос «Как получить идентификатор текущей страницы вне цикла?»
s_ha_dum