前提・実現したいこと
Wordpress5.0.3–jaでtwentysixteenの子テーマを使用中です。
サイト内検索した場合、検索結果のウェブページのタイトル(ブラウザーのタブに表示される題名)は
“検索語” の検索結果 - ページ 2 - サイト名
であり、HTMLソースでは
html
1<title>“検索語” の検索結果 - ページ 2 - サイト名</title>
です(Cf.<title>タグを表示する )。
他方、twentysixteenテーマでの検索結果ページの表示タイトル(見出し、h1要素)は
検索結果: 「検索語」
となります。
これはsearch.phpの
PHP
1<h1 class="page-title"> 2<?php 3printf( __( 'Search Results for: %s', 'twentysixteen' ), '<span>' . esc_html( get_search_query() ) . '</span>' ); 4?> 5</h1> 6```が反映されたものです。 7両者が不一致なので、テーマでのページ・タイトル表示に合せてtitleタグを変更させ、 8```html 9<title>検索結果: 「検索語」 - ページ 2 - サイト名</title>
と出力させたい。
試したこと
「WordPressの<title>タグはどこで定義されているのでしょうか?」の回答にしたがって、/wp-includes/general-template.php
のwp_get_document_title()
関数を見ると、検索結果ページのtitle要素の規定が975~977行目にあります。
PHP
1} elseif ( is_search() ) { 2 /* translators: %s: search phrase */ 3 $title['title'] = sprintf( __( 'Search Results for “%s”' ), get_search_query() );
このSearch Results for “%s”
が、翻訳関数__
に
よって “検索語” の検索結果
へと変換されるわけかと推察しました。
ここで参照された翻訳ファイルがどれか判れば、その日本語訳を希望する文字列に変更してやれば良いと思ったのですが、wp-content/languages/themes
にも、twentysixteenテーマ・フォルダーにも、相当するja.po乃至ja.moファイルは見つかりません(各テーマのテンプレートではなくWordPressの一般テンプレートの翻訳ファイルなのだから、当然かも)。
ここでの翻訳変換を受け持つファイルはどこにあるのか、解析できる方はいらっしゃいませんか。或いは、翻訳ファイルの差替よりも他に簡便な方法があれば、それでも結構です。
できればWordPressがバージョン・アップされてもこのタイトル・タグ改変を維持するために、子テーマから変更させる仕組みが望ましいのですが、何か良い手立てはないものですか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/01 06:31 編集