WordPressでTITLEタグの中身をカスタマイズする

2009年 8月 31日

wordpressのタイトルを表示形式を変更[to-R]にて説明されているやり方を参考に/blog/wp-content/themes/default/header.phpのtitleタグの中身を下記の通りに設定した。

引用元: WordPressでtitleタグの中身をカスタマイズする.

Twitter や WordPress に投稿をする際にブックマークレットを使う機会が増えているのだが、WordPress のタイトルタグの出力方法に癖があって空白文字が題名そのものの先頭や末尾に付与されてしまう問題を解決しようと試みた。条件としては引用した投稿で述べられているようにトップページの表示にのみブログのタイトルを表示し、個々の投稿や検索、カテゴリ別に表示する場合はブログのタイトルを表示せず、投稿の題名や検索語、カテゴリ名だけを表示するというものになる。
screenshot(2009-08-31 13.38.32)
具体的な作業は wp-includes/general-template.php にある wp_title 関数の $sep 前後に付いている空白文字を削除するだけだ。

if ( !empty($title) )
  $prefix = "$sep";
 
// Determines position of the separator and direction of the breadcrumb
if ( 'right' == $seplocation ) { // sep on right, so reverse the order
  $title_array = explode( $t_sep, $title );
  $title_array = array_reverse( $title_array );
  $title = implode( "$sep", $title_array ) . $prefix;
} else {
  $title_array = explode( $t_sep, $title );
  $title = $prefix . implode( "$sep", $title_array );
}

余談まで、この関数を呼び出している header.php のタイトルタグの中にある PHP コードも三項演算子を使うと3バイト分だけより短いものになる。:-)

!wp_title('', false)?bloginfo('name'):wp_title('');
wp_title('');if(!wp_title('', false))bloginfo('name');

WordPress のコードそのものは学習するのに不向きと言われているが、製品として多くの人に愛されているのは素晴らしいことだと思う。経験上から現実はそんなものだと理解しているつもりでも実践するのは難しい。

Share on Tumblr

コメントは受け付けていません。

Comments are closed at this time.