Intereting Posts
Предварительный просмотр пути изображения в разделе администратора После обновления страницы на всех страницах сайта использовался шаблон index.php Сообщения истекают (удаляются) после даты Расширенная форма поиска с фильтрами для пользовательских таксономий делать больше действий после публикации публикации Измените автора плагина после того, как кто-то покинет компанию Выходные данные, такие как установщик / обновление плагинов WP. URL-адреса изображений становятся беспорядочными после миграции Как можно манипулировать малым mCE dom (официальный API не работает)? Легкие всплывающие окна для WordPress? Есть ли лучший способ обработки запросов AJAX в WordPress? Миграция иерархических таксономических категорий между типами сообщений Оберните подменю в div, если родительский ли имеет определенный класс, используя ходунок и функцию start_lvl Распаковка двух столбцов для панели инструментов WordPress Правильный способ выполнения запроса без кэширования БД

Как выводить заголовок домашней страницы блогов

Я использую статическую главную страницу и страницу для своих блог-страниц. В моем header.php я хочу отобразить заголовок выбранной страницы моих блог-страниц.

Например:

<?php if( is_home() ) echo '<h1>' . get_the_title() . '</h1>'; ?><nav> ... </nav> 

Но, конечно, get_the_title() возвращает первый элемент отображаемых сообщений, а не самой страницы.

Как я могу отобразить заголовок назначенной домашней страницы?

Вы можете использовать запрошенный объект, чтобы вернуть заголовок страницы, используемой в качестве страницы блога.

Вы можете использовать следующее: ( Требовать PHP 5.4+ )

 $title = get_queried_object()->post_title; var_dump( $title ); 

Вы можете получить идентификатор из параметров, а затем повторить заголовок, используя этот идентификатор.

 // Blog Page $page_for_posts_id = get_option( 'page_for_posts' ); echo get_the_title($page_for_posts_id); // Front Page $frontpage_id = get_option('page_on_front'); echo get_the_title($frontpage_id); 

Заметка для тех, кто думает об использовании решения @ pieter на index.php – На index.php, вы захотите проверить, что статическая страница настроена на показ сообщений в настройках> Чтение. is_home() не работает на index.php, поэтому вам нужно проверить, что параметр установлен:

 <?php // See if "posts page" is set in Settings > Reading $page_for_posts = get_option( 'page_for_posts' ); if ($page_for_posts) { ?> <header class="page-header"> <h1 class="page-title" itemprop="headline"> <?php echo get_queried_object()->post_title; ?> </h1> </header> <?php } ?> 

Эта проверка важна, потому что index.php также вызывается, когда установлено «Front Page Displays> Your latest posts». В этом случае get_queried_object()->post_title; вернет ошибку, не найденную объектом.

Если речь идет только о домашней странице, почему бы вам не записать код?

 <?php if ( is_home() ) : ?> <h1>Your blog posts page title</h1> <?php endif; ?>