Intereting Posts
Захват body_class для страниц admin Изображения ACF Если / else Как WordPress меняет разметку контента? Требуется яркое изображение Лучший способ добавить поля пользовательских / магических / флаттеров в RSS-канал Лучший способ добавления CSS, который можно манипулировать пользователем через панели параметров темы? Сообщения только загружаются с жестким обновлением Пытается фильтровать теги облака args, но он удаляет обертку Как проверить конкретное значение мета-поля на лицевой стороне и на выходе соответственно Изменение категории по умолчанию при публикации публикации как сделать персонализированные сообщения липкими? Как изменить постоянные ссылки на использование другого домена и пути от того, где размещается блог? Включая стороннюю библиотеку в WordPress, которая должна быть доступна с помощью wp-config Добавление пользовательских полей для Img в сообщениях Подключите другой БД и извлеките записи из некоторых таблиц

Как работает страница блога в 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, вы должны думать о странице блога как Архив вместо страницы.