コンテキスト: WordPress 5.4.5、Yoast 3.7.1
私はクライアントのサイトにアクセスできるプラグイン開発者です。このサイトには Yoast 3.7.1 がインストールされていますが、何をしても 404 ページのtitle
.
現在、同様の質問が提起されている 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について読んでいます...