WordPress の titleタグをカスタマイズする

はじめに

 カスタム投稿タイプ(custom post type)や固定ページ(static page)について、タイトルを専用の表現にしたい事があります。今回、テンプレートファイル (archive.php や single.php、page.php など) に直接記述する方法を紹介します。
 カスタマイズしたタイトル文字列を返す関数を定義して、これを wp_titleフィルターに追加します。
 私はテンプレートタイプと投稿タイプを接頭辞として、「_<テンプレートタイプ>_<投稿タイプ>_wp_title()」のような命名規則で定義するようにしています。他のテンプレートと重複しないようにするためです。

title タグの内容を変更するソースコード

 下記コードを、目的のテンプレートに追記します。get_header() のすぐ上がおすすめです。

<?php
/**
 * custom title for title-tag.
 */
function _archive_sample_wp_title() {
  $post_type_obj = get_post_type_object( 'sample' );
  return 'サンプル一覧 - ' . $post_type_obj->label . ' - My WordPress';
}
add_filter( 'wp_title', '_archive_sample_wp_title' );

get_header(); ?>

 この例の場合、カスタム投稿タイプの名称が「サンプル」だったとすると、title タグには
  「サンプル一覧 – サンプル – My WordPress」
が表示されます。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください