WordPressの初期設定ではページの投稿のタイトルが、そのままtitleタグに設定されます。
ただ極稀にページの投稿のタイトルとtitleタグを別々の表示にしたいということがありました。
自分の事例でいうと、あるお店のホームページをWordPressで管理していていました。
何店舗かあったので、カスタム投稿タイプで各店舗ページを作っていて、その時タイトルを
「◯◯◯カフェ – 大阪店」
といった感じでつけてたんですが、お客様側の要望で店舗の詳細ページ(要はsingle.php)側の「◯◯◯カフェ」を削除してほしいという要望がありました。
全部のページが「◯◯◯カフェ」だったらheader.phpの<title>をいじったら話が早かったんですが、「◯◯◯かふぇ」「カフェ・◯◯◯」といった感じで微妙な違いのが何パターンかあったので、その時に使った方法を紹介します。
<?php $str = get_the_title($ID); //置換前 $search = array('カフェ','カフェ・','かふぇ'); //置換対象候補 $new_str = str_replace($search, '置換後', $str); print $new_str; ?>
4行目のstr_replaceは置換の意味で「$str内の文字列から$searchを探し出して、置換後の文字と置き換える」といったことを行っています。
単純に$searchの文字列を消したいだけなら‘置換後’を空にしたらOKです。