こんにちは、
いわゆる、俺流 の書き方です。
<title>
<?
php wp_title('');
//第一引数が,''なので、»を消してタイトルだけecho
?>
<?php if (wp_title('', false)) : ?>|<?php endif;
//echo させないで、タイトルがなんかあったら、| を追加
?>
<?php
bloginfo('name');
//サイトタイトルをecho
?>
</title>
という風に、the_title()の引数を使わないで、自由に書いているだけです。
引数を使った書き方をすると
<title><?php wp_title( '|',true,'right');?><?php bloginfo('name'); ?></title>
トップ
<title>サイトタイトル</title>
下層
<title>投稿タイトル | サイトタイトル</title>
となって、同じ関数を2度呼び出すこともなく、同じ表現が出来ると思います。
では、どっちがいいのか?という事になると、
どちらの書き方も、良い書き方ではありません。
では、今の時点でよい書き方とされるのは、どのようなものか?
<title><?php wp_title( '|', true, 'right' ); ?></title>
とだけ書いておいて、
functions.phpで、
add_filter( 'wp_title', 'my_filter_title', 10 );
function my_filter_title( $title ) {
return $title. get_bloginfo( 'name' );
}
といった使い方です
なんで、タイトルごときに、関数なんか書かなくちゃいけないのよー
と思う人もいると思うのですが、
例えば、あるページのタイトルは、普通の下層ページのタイトルじゃなくて、特別なタイトルを付けたいとか、プラグインから変更したいといったときに、フィルタを使って、タイトル全体をフィルタを使って柔軟に変更できるのがいいと私は解釈しています
このような、記述の仕方がいいんじゃないかなー という事をまとめてあるのが、ワードプレスのテーマのレビューガイドラインだったりします。
http://make.wordpress.org/themes/guidelines/guidelines-theme-check/
Function Parameters, Filters, Action Hooks
Themes are required to use function parameters, filters, and action hooks where appropriate in order to modify content, rather than hard-coding:
wp_title():
Themes are required to modify output via filter (wp_title/body_class/post_class)
body_class()/post_class()
めんどい、と言えばそれまでですが、「こんな風に書くには、それなりの理由があるのよー」と思えていたほうがいい事もありますよね