Я вижу следующий код в файлах index.php. Я понимаю, что is_front_page()
возвращает true при просмотре is_home()
главной страницы сайта (независимо от того, отображает ли индекс сообщений блога или статическую страницу), а возвращает true при просмотре индекса сообщений блога (отображается ли на главной странице или на статической странице). Я все еще несколько озадачен использованием следующего кода -
<?php if ( have_posts() ) : ?>
<?php if ( is_home() && ! is_front_page() ) : ?>
<header>
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
</header>
<?php endif; ?>
Любое объяснение того, почему этот кусок кода так популярен, очень ценится.
Вот как это сделать правильно:
Это единственный (правильный) способ отображения или изменения содержимого с помощью домашней страницы и страницы блога.
источник
Я не уверен насчет «популярности», мне так не кажется (но тогда я не смотрю на столько тем).
Кажется, вы прекрасно понимаете, что делает каждое условие, поэтому это не должно вас смущать. Это объединяет условия для проверки того, что индекс блога отображается, а его нет на первой странице.
Ах, причина, по которой
single_post_title()
я бы догадался, заключается в том, что он отображает заголовок для$wp_query->queried object
(установленный с помощью основного запроса в качестве текущего контекста), а не$post
глобальный (настраивается с помощью итеративного цикла).В некоторых случаях они будут такими же, но не в таких случаях, как проверка условий. Цикл будет содержать сообщения , но запрашиваемый объект будет страницей (если я не перепутал :).
источник