Intereting Posts
Перечислите пользовательскую таксономию, специфичную для одного типа пользовательских сообщений. Плюсы и минусы пользовательской страницы и файла шаблона пользовательского типа Является ли приемлемым для всех локальных сайтов? Список только дочерних категорий, в которых находится сообщение, определенной родительской категории в wordpress Вложенный разрывный цикл WP_Query wp_posts – обновление руководства Следуйте за автором на сайте muti-user WordPress Почему мой файл cookie не отключается при выходе из системы? как отобразить мой плагин WordPress на выбранной странице? как работает рендеринг? Использование AJAX в плагине для отправки формы – ДЕЙСТВИТЕЛЬНО запутано Укажите строгий «порядок по» в запросе WordPress Пользовательский тип почтового типа скрывает навигацию Дезинфекция данных: передовая практика с примерами кода WordPress – показать все сообщения + те, у которых есть тег

Как работает страница блога в WordPress: страница блога возвращает идентификатор первого сообщения

Я использую WordPress Static Front Page Process, чтобы назначить Front Page и назначить страницу Posts. Поэтому у меня есть 2 страницы: «front» (front-page.php) и «blog» (home.php).

Для страницы «блог», когда я показываю $post->ID после head init (вне цикла), я не понимаю, почему WordPress отправил мне последний созданный идентификатор сообщения. Он обычно должен отображать идентификатор страницы?

Я прочитал «Вопросы, которые могут уже иметь ваш ответ» в отношении такого случая и возможности использования:

 get_option('page_for_posts') 
  • Но почему WordPress работает так?

  • Существует ли глобальный var?

  • Есть что-то, чего мне не хватает в иерархии шаблонов WordPress?

Спасибо за вашу помощь

Solutions Collecting From Web of "Как работает страница блога в WordPress: страница блога возвращает идентификатор первого сообщения"

Объект $ post содержит данные для основного запроса текущей страницы. Таким образом, в вашем случае основной запрос на вашем front-page.php содержит данные со страницы, которую вы назначаете для своей первой страницы. Однако ваша страница в блоге – это архив и может содержать несколько сообщений. И в обоих случаях вы используете цикл для доступа к этим данным.

Возможно, эта страница поможет объяснить еще кое-что:

https://developer.wordpress.org/themes/basics/the-loop/

Редактировать:

Хорошо, поэтому я думаю, что вам нужно get_queried_object() это вернет идентификатор страницы, когда на первой странице или в блоге. Объект $post содержит данные для первого сообщения в Loop, вы должны думать о странице блога как Архив вместо страницы.