Контекст: WordPress 5.4.5, Yoast 3.7.1
Я разработчик плагинов, у меня есть доступ к сайту клиента. На сайте установлен Yoast 3.7.1, и мне интересно, имеет ли это значение, потому что независимо от того, что я делаю, я не могу изменить title
страницы 404.
Теперь на других страницах StackOverflow, где были заданы аналогичные вопросы (здесь, здесь и здесь, например), те, кто отвечает, спросили, правильно ли встраивается header.php
звонок wp_title()
. Вот что в текущей теме header.php
на тот момент:
<title><?php wp_title( '|', true, 'right' ); ?></title>
Интересно, что на моей странице 404.php
wp_get_document_title()
говорит мне, что заголовок документа — Page not found - XXXX
, хотя вызов wp_title
выше указывает разделитель как |
. Переписывание заголовков Yoast отключено, поэтому я совсем не уверен, откуда взялась эта черточка.
Мой плагин выполняет вызов REST и извлекает контент извне для включения на страницу. Частью этого контента является текст, который будет использоваться в файле title
.
На предыдущих клиентских сайтах я смог сделать следующее:
add_filter('wp_title', 'change_404_title');
function change_404_title($title) {
if (is_404())
{
global $plugin_title;
if (!empty($plugin_title))
{
$title = $plugin_title;
}
}
return $title;
}
Однако на этом сайте это не работает.
Я попытался, основываясь на используемой версии WordPress, подключить фильтр pre_get_document_title
, а именно
add_filter('pre_get_document_title', 'change_404_title');
но опять безрезультатно. Я сейчас читаю Yoast...
global $plugin_title;
? - person Khorshed Alam   schedule 04.11.2016