私はWP 4.7.3とカスタムテンプレートセット(mh-magazine)を使用しています。
デフォルトでは、WPは "Page title" - "Blog title"のようなタイトルタグを設定します。
今私が達成したいのは、レイアウト上の理由から " - "をパイプ記号に置き換えることだけです。そのため、処理されたHTMlは次のようになります。
マイページのタイトル私のブログのタイトル
これは簡単に達成できると思いましたが、私はPHPやWPのエキスパートではないので、助けが必要だと思います。
それはすべてあなたのテーマのheader.php
がどのように構成されているかに依存しますが、最も可能性の高い方法は document_title_separator filterを通してです。
add_filter ('document_title_separator', 'wpse_set_document_title_separator') ;
function
wpse_set_document_title_separator ($sep)
{
return ('|') ;
}
あなたのテーマがあれば:
あなたのfunctions.php
ファイルのどこかにadd_theme_support( 'title-tag' );
header.php
ファイル内のwp_head()
関数呼び出し
それならdocument_title_separator
フィルタを使うことは @ Paul's answer のように働くでしょう - /提案された。
上記の条件を満たしてもフィルタが機能しない場合は、おそらくプラグインがそれをオーバーライドしています。フィルタが最後に実行されるように、フィルタの優先順位を上げてみてください。
function wpse262196_document_title_separator( $sep ) {
return '|';
}
add_filter( 'document_title_separator', 'wpse262196_document_title_separator', PHP_INT_MAX );
テーマのdocument_title_separator
ファイルにfunctions.php
フィルタが既に存在する場合は、そこで変更します。
あなたのテーマがadd_theme_support( 'title-tag' );
を含まず、代わりにheader.php
ファイルに古い <title><?php wp_title(); ?></title>
を使用しているかもしれません。
この場合、セパレータを変更するには、<title><?php wp_title( '|' ); ?></title>
のように変更します。
注:
add_theme_support( 'title-tag' );
は廃止予定のため、wp_title()
に戻すことを強くお勧めします。
それでもうまくいかない場合は、プラグインがwp_title
フィルタを使用して置き換えている可能性があります。その場合は、テーマのfunctions.php
ファイルで以下のフィルタを使用して動作を変更してください。
function wpse262196_wp_title( $title, $sep, $seplocation ) {
return str_replace( " $sep ", " | ", $title );
}
add_filter( 'wp_title', 'wpse262196_wp_title', PHP_INT_MAX );
テーマのwp_title
ファイルにfunctions.php
フィルタが既に存在する場合は、そこで変更します。
うまくいけば、解決策があなたのために働くでしょう。
もしあなたがプラグインルートに行きたければ、あなたは Yoast SEO pluginを使うことができます。これは無料で強力なSEOツールです。
注:Yoast SEOはフル機能のSEOプラグインです。あなたがYoastの他のSEO機能を利用するつもりはなく、タイトルセパレータを変更することだけが必要な場合は、このプラグインはやり過ぎるでしょうし、与えられた他の答えは両方ともはるかに軽量であなたのニーズにより適しています。 。