WordPressで「サイトのタイトル」と「キャッチフレーズ」の間の記号を変更する方法

ブログをカスタマイズしていて、調べたことを記しておきます。
HTMLやPHPなど、まったくわからない人向けに書いてますので、ちょっと変な表現あるかもです。いや、僕もあんまりわかってないこともあるかもしれません。100%信じるのではなく、参考程度にどうぞ。

MacBook Air

ワードプレスのtitleタグってどうなってるの?

本日はブログのタイトルについて。
ブログに限らずウェブサイトのタイトルってありますよね。

こういうやつ。

スクリーンショット

HTMLがわかる人だったら簡単な話だと思うんだけど、<head>タグ内に<title>タグを記述してサイトのタイトルをつければいいだけ。

でも、ワードプレスでheader.phpを確認しても、どこにも<title>タグがない。
(もちろん利用しているテーマにもよります。いや、テーマというより昔はあったけど今はない? まぁ、いろいろWordPressも変更があるんだよ。ということで今回は<title>タグがない前提で話を進めます。)

じゃあ、何がどうなってタイトルを表示してんだって話なんですが、これはwp_head()っていう関数がどうやら表示させている模様。
ワードプレスには独自の関数やらテンプレートタグなんてものがあるのです。

タイトルに表示される区切りの記号を変更したい

で、ここからが本題。

現在のこのブログの場合だとタイトルは「HITORIMITASU〈ヒトリミタス〉|足して、満たして、毎日楽しい」になっています。

これはワードプレスの一般設定のサイトのタイトルとキャッチフレーズが表示されています。

スクリーンショット

しかしですね、この表示の仕方は自分でイジってこの状態にしてます。
wp_head関数のデフォルトだと「HITORIMITASU〈ヒトリミタス〉- 足して、満たして、毎日楽しい」となります。
タイトルとキャッチフレーズの間の区切りの記号が「-」になるんですよね。
ずっと気にせず、そのままでもいいかと思ってたんですが、今回変えてみることにしました。

で、どうやって変えるんだろうと思って調べたわけですね。
<head>タグ内に<title>タグ使って好きにつければいいんじゃないかとも思ったんだけど、wp_head関数とバッティングする感じになるのかな。

そこで解決した方法が、functions.phpに記述するという方法でした。
記述したコードがこれ。
(スマホで見てる人は改行の位置がおかしく表示されていて、うまくいかない場合があるかもしれませんので、パソコンから参照していただくのがいいかと思います。)

add_filter( ‘document_title_separator’, ‘my_document_title_separator’ );
function my_document_title_separator( $sep ) {
$sep = ‘|’;
return $sep;
}

まったくこのままじゃなく、このコードから変更しても大丈夫な部分もあるんですが、わからない人はそのまま記述してください。
で、この$sepという変数に区切りとして利用する記号を指定しています。
「$sep = ‘|’;」の部分ね。

これを「$sep = ‘a’;」にすれば、「HITORIMITASU〈ヒトリミタス〉a 足して、満たして、毎日楽しい」になります。

変更はできたが満足できない

これで自由に変更できると思ったんだけど、これでも満足してないんですよね。
なんか、これで指定した場合、勝手に前後に半角のスペースが入るわけですよ。

本当は全角の「|」を使いたかったんですね。でも「|」を使った上に前後に半角のスペースが入るとめっちゃ空白あるみたいな見た目になるんです。
だってほら、全角と半角でこんなに違うでしょ→「|」「|」
だから仕方なく半角の「|」使ってます。
これも解決方法があるんだけど、時間があるときに対処しますかね。replaceとか使ってなんとかしてる人もいるのかな?

こんな感じでタイトルをカスタマイズすることができます。
ただ、コードをイジる時は自己責任で行ってくださいね
functions.phpは非常に繊細で失敗すると何も表示されなくなります。
エラーが出ていると表示されない状態になるんだけど、これ本当に困るんですよね。プログラムを勉強したことがある人なら気持ちがわかるはず。
なので、作業前にはしっかりバックアップをとってからにしてください。

では、ワクワクドキドキのカスタマイズ頑張ってください。