私はインターネット上で検索した後、多くの方法を試してみましたが何も動かすことができません私の404ページのタイトルから見つかりません
私の404ページのヘッダにもこれがありますif( is_404() ) echo '404 message goes here | '; else wp_title( '|', true, 'right' );
私はまた、phpのタイトル機能と5つの私自身のヘッダを削除しましたが、それでもなぜ変更しないのですか?
私はwp_title
フィルタフックを使うでしょう:
function theme_slug_filter_wp_title( $title ) {
if ( is_404() ) {
$title = 'ADD 404 TITLE TEXT HERE';
}
// You can do other filtering here, or
// just return $title
return $title;
}
// Hook into wp_title filter hook
add_filter( 'wp_title', 'theme_slug_filter_wp_title' );
これは他のプラグイン(例えばSEOプラグイン)とうまく働き、比較的前方互換性があります( ドキュメントタイトルの変更が間もなく )。
_編集_
あなたがSEOプラグインフィルタを上書きする必要があるなら、あなたはおそらくあなたのadd_filter()
呼び出しにもっと低いpriorityを追加する必要があるでしょう。例えば次のように:
add_filter( 'wp_title', 'theme_slug_filter_wp_title', 11 );
デフォルトは10
です。小さい数字は早い(例:高い優先)を実行し、大きい数字は遅い(例:下位優先)を実行します。ですから、あなたのSEOプラグインがデフォルトの優先順位(つまり10
)を使うと仮定すると、単に11以上の数字を使うのです。
wp_title
はWordPress 4.4以降では非推奨となっているため、受け入れられた回答は機能しません( こちらを参照 )。代わりに document_title_parts filterフックを使用する必要があります。
これがdocument_title_parts
を使用するように書き直された受け入れられた答えです。
function theme_slug_filter_wp_title( $title_parts ) {
if ( is_404() ) {
$title_parts['title'] = 'ADD 404 TITLE TEXT HERE';
}
return $title_parts;
}
// Hook into document_title_parts
add_filter( 'document_title_parts', 'theme_slug_filter_wp_title' );
次のコードは、21のテーマでうまく動作します。
if ( is_404() ) {
echo __('Nothing Found','mytheme')
}
そのため、タイトルコードは次のようになります。
<title>
<?php
global $page, $paged;
if ( is_404() ) {
echo __('Nothing Found | ','mytheme');
}
else {
wp_title( '|', true, 'right' );
}
?>
</title>