WordPressテーマSANGOの質問

キャッチフレーズを空欄にしてもtitleにセパレータ|が含まれてしまう。

アバター
nekome

ブログの設定側のtitleには|を含んでいないのですがデベロッパーツールから確認するとなぜか|が含まれてしまいます。よくある質問のセパレータについてはやってみましたが消えませんでした。

SANGO
質問板アーカイブ
コメントへの回答
サルワカくん
サルワカくん
2019/06/02

お世話になっております。
状況理解しました。

まず前提として、ブログのタイトルにセパレータが入るのはWordPress本体の仕様です。
参考:https://glatchdesign.com/blog/web/wordpress/1070

デフォルトでは、トップページのtitleは「サイト名 – キャッチフレーズ」というようになります。

SANGOではWordPressデフォルトの「-」というセパレータを「|」に変える処理を書いていますが、セパレータ自体の出力を制御してはいません。

本来は、キャッチフレーズを空欄にするとセパレータは消えるのですが、消えないということですよね。
(私のいくつかの環境のSANGOでは問題を再現できないため、もしかすると他の部分に原因があるかもしれません)

まず「一般」設定でキャッチフレーズが空欄になっていることを確認し、「変更を保存」をクリックしてみていただけますか?
これで直る可能性があります。

直らない場合は、以下のコードを子テーマのfunctions.phpに貼り付けることでtitleタグを書き換えることができます。

//トップページのtitleを書き換え
function my_home_title_parts( $title_parts ) {
  if(is_home()) {
    $title_parts['title'] = 'ここにトップページのtitleを書く';
    $title_parts['tagline'] = '';
    $title_parts['site'] = '';
  }
  return $title_parts;
}
add_filter( 'document_title_parts', 'my_home_title_parts' );

ご確認よろしくお願いします。

アバター
nekome
2019/06/02

Parse error: syntax error, unexpected ‘ ‘ (T_STRING) in /home/nekomeblog/nekomeblog.com/public_html/wp-content/themes/sango-theme-child/functions.php on line 15
サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。
説明していただいたコードを書き込んだところ、このようなエラーメッセージが表示されてしまうようになりました。

サルワカくん
サルワカくん
2019/06/02

エラーメッセージの通り、15行目におかしな空白が入ってしまっていませんか?
もしくは'が閉じ忘れていたり、余分だったりしませんか?
あるいは貼り付け時に'や半角スペースが別の文字列に変換されてしまっていたりしませんか?

ちなみにWordPressのタイトルの編集の仕方はたとえばこちらの記事に分かりやすく書かれています。参考にしてみてください。
https://nelog.jp/document-title-parts

そもそもなのですが、プラグインの一時停止はすでに試していますか?
(All in One SEOを入れられているようなので、そちらにセパレータが消えない原因がある可能性があります)