Просто добавьте этот код в functions.php
вашей темы:
function your_document_title($title) { $sep = ' | '; $array = []; $term = get_queried_object(); global $page; if (is_singular()) { if ($page) { array_push($array, 'Часть '.intval($page)); } array_push($array, get_the_title($term)); } else if (is_paged()) { array_push($array, 'Страница ' . intval(get_query_var('paged'))); } if (is_search()) { array_push($array, 'Результат поиска по запросу "'.esc_html($_GET['s'].'"')); } else if (is_category($term)) { array_push($array, 'Категория "' . $term->name . '"'); } else if (is_tag($term)) { array_push($array, 'Метка "' . $term->name . '"'); } array_push($array, get_bloginfo('name')); if (is_front_page() && !is_paged()) { array_push($array, get_bloginfo('description')); } return implode($sep, $array); } add_filter('document_title', 'your_document_title'); |
Эти строчки добавляют фильтр к методу document_title
.
Для каждого заголовка страницы WordPress вызывает наш код следующим образом:
$title = your_document_title(default_title()); |
Правила такие:
- для одиночных постов — «Название поста»
- для страницы категории выводится — Категория «Название»
- для страницы тега выводится — Метка «Название»
- для главной страницы «Название сайта | Описание сайта»
- для постов разбитых на части добавляется «Часть N» в начале
- для страница поиска типа /s=QUERY «Результат поиска QUERY»
- для страниц пагинации типа /page/N добавляется «Страница N» в начале
- для всех страниц добавляется информация из поля Настройки->Общие->Название сайта
- для всех страниц, кроме главной и страниц пагинаций, в конце добавляется информация из поля «Настройки->Общие->Краткое описание»