バズ部さんが提供されているWordPressテーマ「XeoryBase」。きれいで一度は使ってみたいと思うテーマですね。
そのXeoryBaseのタイトル表示について質問がありましたので、独自に調べて対処しました。
質問されたのは個別記事のタイトルを「投稿タイトル|サイト名」にしたいというものでした。
このタイトルというのはサイトに表示される部分とヘッダー情報として記述される部分の2つがあり、それぞれの場所に関する対応方法を紹介しますので同じことを考えている方は参考にしてみては??
個別の投稿タイトルを変更する方法
h1タグになっている投稿のタイトルにサイト名を含める方法です。こうすることでサイト名の出力頻度を上げることはできますが、見た目に投稿タイトルが長くなってしまうことと、SEO的にどうか?というのは不明です。
single.phpを開いて41行目あたりにある
<h1 class="post-title" itemprop="headline"><?php the_title(); ?></h1>
を
<h1 class="post-title" itemprop="headline"><?php the_title('', '|'); ?><?php bloginfo('name'); ?></h1>
へ変更することで「投稿タイトル|サイト名」になります。
※固定ページの場合は「page.php」で行います(行数は違いますがやることは同じです)
ヘッダー内の情報を変更する方法
こちらはヘッダー情報にあるタイトルのカスタマイズ方法です。あまりカスタマイズしてもSEOに有効かどうかというのは・・・といった感じですが、ブラウザのタグやお気に入り登録の際のタイトルとして使われる部分ですからサイト名を含めておくというのもいいかも知れません。
方法は「header.php」の5行目にある
<title><?php bzb_title(''); ?></title>
を以下のように変更します
<?php if (is_single()) : ?>
<title><?php the_title('', '|'); ?><?php bloginfo('name'); ?></title>
<?php else: ?>
<title><?php bzb_title(''); ?></title>
<?php endif; ?>
こうすることで「個別の投稿」の場合だけ「投稿タイトル|サイト名」となり、その他の場合はXeoryBaseテーマでの設定に従うということになります。
XeoryBaseテーマでは独自の関数(function)を使ってタイトルの抽出方法をトップページでは、個別ページでは、タグやカテゴリーページでは、検索結果では・・・などシーンに合わせてカスタマイズされたものが表示されるようになっていますので、それを無視するならもっと簡単に実装できますが、せっかくの機能なので残しておくようにするといいと思います。
従って今回のカスタマイズでは「個別投稿だったら・・・」という条件を付けて対応するようにしました。