Вывод заголовков под разные страницы WordPress

Доброго времени суток! Решим ещё одну задачу, связанную с созданием сайта на WordPress. Кейс вывод заголовков под разные страницы WordPress. Условие задачи. На главной странице размещен список анонсов статей с заглавием. Есть возможность формировать списки по категориям и меткам. На этих страницах, с точки зрения поисковой оптимизации, названия статей необходимо оформить в h2, на странице со статьей — тегом h1. Дополнительно, на главной странице название блога оформлено как h1, на всех других — помещено в div. Рассмотрим решение.

Вывод заголовков статей

В первую очередь нужно определить, где формируется список анонсов статей. Открываем файл loop.php. Ищем ориентировочно такой код:

<h1 class="post-title"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h1>

Из кода видно, что название статьи выделено тегом h1 для всех типов страниц. А нужно делать проверку на тип страницы. Для определения главной страницы в WordPress есть условный тег is_front_page(). А для установления категорий и меток — is_category() и is_tag(). Подробное описание условных тегов можно найти на сайте.
Далее, создаём проверку на тип страницы, если она относится к одной из категорий, то заглавие статьи оформляем тегом h2, иначе — h1.
Примерный код:

<?php if( is_front_page() || is_category()||is_tag()) { ?>
<h2 class="post-title"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h2> <?php ; }
else { ?>
<h1 class="post-title"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h1><?php ;}?>

Таким образом, определяется вид загружаемой страницы и выводится соответствующий заголовок статьи.
Обратите внимание, h1 и h2 одного класса post-title, поэтому визуально на блоге будут выглядеть одинаково.

Вывод заголовка сайта

Для оформления заглавия блога открываем файл functions.php или файл с функциями темы и находим ориентировочно следующий код:

<h1><?php wp_title( '|', true, 'right' ); ?></h1>

 Далее, аналогично как в прошлом примере проверяем тип страницы. Для главной название сайта выделяем тегом h1, а для остальных помещаем в div. Код примерно следующий:

<?php if( is_front_page() ) { ?>
<h1><?php wp_title( '|', true, 'right' ); ?></h1>
else { ?>
<div><?php wp_title( '|', true, 'right' ); ?></div><?php ;}?>

После внесённых изменений на главной странице название блога выводится в h1, а на остальных — в div. Если ввести дополнительный класс заголовок сайта(site-logo) и добавить его для h1 и div, то визуальное оформление не отличается.

Заключение

Таким образом, для вывода заголовков под разные страницы используются условные теги is_front_page(), is_category() и is_tag(), позволяющие определить их тип. Комбинацией условий выводит требуемый уровень заголовка. Для оформления названия сайта используем проверку is_front_page().
На этом всё. До следующих статей.