$ post-> ID отображает неправильный идентификатор

Это довольно странно.

Этот код:

$post->ID 

Отображает правильный идентификатор каждый раз, за ​​исключением страницы блога (страница, заданная как блог на /wp-admin/options-reading.php).

На этой странице $ post-> ID возвращает идентификатор первого сообщения в блоге для данной страницы.

Теперь, сложная часть, я попытался удалить все петли со всех моих страниц, полностью стертый файл loop.php, отключил все виджеты, которые могли повлиять на $ post, и он по-прежнему возвращает неверный идентификатор.

Любые намеки?

Мой index.php довольно стандартный:

 <?php get_header();?> <?php get_template_part( 'loop', 'index' ); ?> <?php get_footer(); ?> 

И loop.php:

 <?php while ( have_posts() ) : the_post(); ?> contents <?php endwhile; ?> 

Может быть, проблема в том, что я пытаюсь получить идентификатор в header.php?

И да, wp_reset_postdata() тоже не помогает: /

Solutions Collecting From Web of "$ post-> ID отображает неправильный идентификатор"

На этой странице $ post-> ID возвращает идентификатор первого сообщения в блоге для данной страницы.

Вот как это работает. $post устанавливается в первый пост в Loop. На отдельных сообщениях и страницах, которые совпадают с сообщением или страницей. На архивных страницах это первое сообщение в результирующем наборе. И если вы об этом подумаете, то и то и другое. Отдельные сообщения и страницы имеют только один результат в наборе, который соответствует вашей почте или странице, которую вы ожидаете.

Теперь, сложная часть, я попытался удалить все петли со всех моих страниц, полностью стертый файл loop.php, отключил все виджеты, которые могли повлиять на $ post, и он по-прежнему возвращает неверный идентификатор.

Основной запрос выполняется до загрузки шаблона, и в этом процессе устанавливается $post . Удаление вещей из шаблона не изменит этого.

Любые намеки?

Да. Не полагайтесь на $post кроме встроенного Loop. Если вам нужна информация о самой странице, используйте:

 $pobj = get_queried_object(); var_dump($pobj); // debugging 

Справка:

http://codex.wordpress.org/Function_Reference/get_queried_object