タイトル区切り文字を変更します。
アンダースコアスターターテーマを使用しています。タイトルを少し変更したいです。セパレータを「投稿タイトル|サイト名」から「投稿タイトル-サイト名」に変更します
これを行う簡単な方法は、
<title><?php wp_title('-', true, 'right' ); ?><?php bloginfo( 'name' ); ?></title>
ヘッダーに。しかし今、私はadd_theme_support( 'title-tag' );
one 使用しないでください ヘッダーの<title>
マークアップの導入でそれを読みました。
タイトルのセパレータを変更する簡単な方法はありますか?
この質問が他の同様の質問と異なる理由:これは、<title>
タグを使用する必要がなくなったため、add_theme_support( 'title-tag' );
の導入とその使用および変更方法から、本当にベストプラクティスに関するものです。ヘッダー。
[このような小さな変更を行うために8行のコードを記述する必要がないことを本当に願っています。 <title>
タグをより簡単なソリューションとして最終的に使用することにした場合、add_theme_support( 'title-tag' );
をfunctions.phpからコメントアウト/削除する必要がありますか? ]
WordPress 4.4以降、wp_title()
関数がコアで使用されなくなったため、wp_title
フィルタは機能しません。その関数は廃止予定としてマークされていましたが、その後新しい通知があるまで復活させられましたが、 テーマ作者はそれを使うことをお勧めしません 。そのため、テーマで直接wp_title()
関数を使用し続ける場合でもwp_title
フィルターは機能しますが、お勧めできません。
title-tag
のテーマサポートが有効になっているときにドキュメントのタイトルをカスタマイズするための新しいフィルタがあります。
セパレータをカスタマイズしたいだけなので、次のようにdocument_title_separator
を使用できます。
add_filter( 'document_title_separator', 'cyb_document_title_separator' );
function cyb_document_title_separator( $sep ) {
$sep = "-";
return $sep;
}
wp_title
タグをカスタマイズするには、 <title>
filter を使用できます。
add_filter( 'wp_title', 'customize_title_tag', 10, 3 );
function customize_title_tag( $title, $sep, $seplocation ) {
// Customize $title here.
// Example taken from https://generatepress.com/forums/topic/title-tag-separator/
$title = str_replace( '|', '-', $title );
return $title;
}
このフィルタの使用方法のより複雑な例(TwentyTwelveテーマから取得):
function twentytwelve_wp_title( $title, $sep ) {
global $paged, $page;
if ( is_feed() )
return $title;
// Add the site name.
$title .= get_bloginfo( 'name' );
// Add the site description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
$title = "$title $sep $site_description";
// Add a page number if necessary.
if ( $paged >= 2 || $page >= 2 )
$title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) );
return $title;
}
add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 );