現在のテーマはWordPress2.6系のClassicテーマをベースに作っているので、各ページのタイトルが「ブログ名 – 記事タイトル」の順番になっていた。最近(2.7系,2.8系)のバージョンでは全て逆になっている。気になったので修正してみることにする。
修正前のheader.php
<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>
修正後のheader.php
<title><?php wp_title('-', true, 'right'); ?><?php bloginfo('name'); ?></title>
これだけでは日付別ページや検索結果ページのタイトルの表示が気に入らないので、もう少し弄ってみる。具体的にはwp_title()をフックして出力結果を好きなように修正できるようにする。
function.phpにフック用の関数als_titleを追加
add_filter('wp_title', 'als_title', 10, 2);
function als_title() {
global $s;
$args = func_get_args();
if(is_search())
$title = strip_tags($s)." の検索結果 $args[1] ";
elseif(is_category())
$title = single_cat_title('', false)."カテゴリー一覧 $args[1] ";
elseif(is_tag())
$title = single_tag_title('', false)."タグ一覧 $args[1] ";
elseif (is_day())
$title = get_the_time('Y年m月d日')."の記事一覧 $args[1] ";
elseif(is_month())
$title = get_the_time('Y年m月')."の記事一覧 $args[1] ";
elseif (is_year())
$title = get_the_time('Y年')."の記事一覧 $args[1] ";
else
$title = $args[0];
return $title;
}
好みの表示に修正できました!
ところで他のWordPressのテーマを参考にしようといろいろと巡回した結果、記事タイトルとブログ名の間のセパレーターの文字は、圧倒的に「|(パイプ)」が使われていたのだけど「-(ハイフン)」よりも採用すべき理由があるのかな?