ワードプレスの投稿ページのH1タグのタイトルを書き換えるPHPコードをご紹介します。

H1タイトルタグはどこで出力されている?

ワードプレスの個々の投稿のH1タイトルタグは、テーマに出力がプログラミングされています。
一般的には、single.php, singular.php, もしくは稀にsingle-post.php にプログラムされています。

※タイトルをH1で出力するテーマに含まれるコードの例

<h1 class="post-title"><?php the_title(); ?></h1>

こちらを書き換えてもよいのですが、ワードプレスにはこのタイトルを出力する際の処理に割り込んでタイトル出力を書き換える関数がありますのでそちらをテーマのfunctions.phpに実装します。

add_filter( 'the_title', function( $title, $id ) {
    if ( 'post' == get_post_type($id) ){
        return '付記するタイトル' . $title ;
    }
    return $title;
}, 10, 2 );

上記コードの例では、add_filter( ‘the_title’ でタイトルが出力される処理に割り込んで、$title=古いタイトル $id=タイトルを出力しようとする投稿のID をプログラムに渡しています。

get_post_type($id)で投稿タイプがワードプレスの「投稿」である場合にのみ、古い$titleの前に「付記するタイトル」を追加して返しています。
この事によってH1で出力されているタイトルを書き換えることができます。

※’post’ == get_post_type($id) を ’任意のカスタム投稿タイプのスラグ’ == get_post_type($id) にすると任意のカスタム投稿タイプのみタイトルタグに付記することもできます。その他様々な条件を設定することも可能です。

※最終行にある 10, 2 の10はこの関数の優先順位、2は2つの変数を渡すという意味になります。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインのカスタマイズ修正のご依頼ご相談はワードプレスドクターまでお気軽にお送りください