Как изменить заголовок страницы 404
Я пробовал много методов после поиска в интернете, но не могу убрать "Nothing Found" из заголовка моей страницы 404. Как это сделать, пожалуйста, помогите.
Я даже использовал это в заголовке моей страницы 404:
if( is_404() ) echo '404 сообщение здесь | ';
else wp_title( '|', true, 'right' );
Я также удалил функцию php title и добавил свой собственный заголовок, но он все равно не меняется, почему?

Я бы использовал фильтр-хук wp_title
:
function theme_slug_filter_wp_title( $title ) {
if ( is_404() ) {
$title = 'ДОБАВЬТЕ ТЕКСТ ЗАГОЛОВКА ДЛЯ 404 ЗДЕСЬ';
}
// Здесь можно выполнить другую фильтрацию или
// просто вернуть $title
return $title;
}
// Подключаемся к фильтр-хуку wp_title
add_filter( 'wp_title', 'theme_slug_filter_wp_title' );
Это будет хорошо работать с другими плагинами (например, SEO-плагинами) и будет относительно совместимо в будущем (изменения в заголовке документа появятся скоро).
РЕДАКТИРОВАНИЕ
Если вам нужно переопределить фильтр SEO-плагина, вероятно, вам просто нужно добавить более низкий приоритет в ваш вызов add_filter()
; например, следующим образом:
add_filter( 'wp_title', 'theme_slug_filter_wp_title', 11 );
Значение по умолчанию — 10
. Меньшие числа выполняются раньше (т.е. с более высоким приоритетом), а большие числа выполняются позже (т.е. с более низким приоритетом). Таким образом, если ваш SEO-плагин использует приоритет по умолчанию (т.е. 10
), просто используйте число 11 или больше.

Спасибо, это не менялось из-за моего SEO-плагина, но спасибо за ответ :) Теперь у меня есть еще одна проблема моя страница 404 выдает заголовок с кодом 404, как я могу это изменить?

SEO-плагин почти наверняка использует фильтр wp_title
. Если вам нужно его переопределить, добавьте приоритет к вашему вызову add_filter()
. См. обновление ответа.

WordPress 4.4 и выше
Принятый ответ больше не работает, так как wp_title
устарел в WordPress 4.4 и выше (см. здесь). Теперь мы должны использовать фильтр document_title_parts.
Вот переписанный принятый ответ с использованием document_title_parts
.
function theme_slug_filter_wp_title( $title_parts ) {
// Проверяем, является ли текущая страница 404 ошибкой
if ( is_404() ) {
$title_parts['title'] = 'ДОБАВЬТЕ ТЕКСТ ЗАГОЛОВКА ДЛЯ 404 ЗДЕСЬ';
}
return $title_parts;
}
// Подключаем фильтр к document_title_parts
add_filter( 'document_title_parts', 'theme_slug_filter_wp_title' );

Следующий код отлично работает с темой Twenty Eleven:
if ( is_404() ) {
echo __('Ничего не найдено','mytheme')
}
Таким образом, код заголовка выглядит следующим образом:
<title>
<?php
global $page, $paged;
if ( is_404() ) {
echo __('Ничего не найдено | ','mytheme');
}
else {
wp_title( '|', true, 'right' );
}
?>
</title>

Я настоятельно рекомендую всегда выводить текст <title>
с помощью функции wp_title()
, либо передавая аргумент, либо используя хук фильтра wp_title
, чтобы код корректно работал с другими плагинами, которые пытаются изменить текст <title>
.

Спасибо, это не менялось из-за моего SEO-плагина, но спасибо за ответ :)
