質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

3回答

3801閲覧

WordPressの<title>タグはどこで定義されているのでしょうか?

lista

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2018/02/01 05:31

WordPressでは<title>タグが動的に出力されると思いますが
どういう仕組みになっているのか調べたくて、header.phpの中身を見てみましたが、<title>タグが見当たりません。

そこで調べてみたら、wp_head()で出力していることは分かったのですが、wp_head()関数の中は

function wp_head() { /** * Prints scripts or data in the head tag on the front end. * * @since 1.5.0 */ do_action( 'wp_head' ); }

と書いてあるだけで、<title>タグを出力しているように見えません。

一体どういう仕組みになっているのでしょうか?
自分で調べてみようと思ったのですが、調べ方が悪いのか、なかなか検索にヒットしません。
参考サイトや、仕組みを解説してくれる方がいましたらよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

do_action()はそのフックに紐付けられた関数を実行する関数です。

つまり、add_action('wp_head', '関数名');という風に
wp_head に add_action された関数が実行されます。

ということは、 add_action('wp_head' で検索すればwp_head()内でどういう処理がされているかを追うことができます。

検索すると、/wp-includes/default-filters.phpに、下記のような行が見つかります。

PHP

1add_action( 'wp_head', '_wp_render_title_tag', 1 );

_wp_render_title_tag()関数を探してみると、/wp-includes/general-template.phpに定義されています。

PHP

1function _wp_render_title_tag() { 2 if ( ! current_theme_supports( 'title-tag' ) ) { 3 return; 4 } 5 6 echo '<title>' . wp_get_document_title() . '</title>' . "\n"; 7}

<title>はここで出力しています。

その中身はwp_get_document_title()関数で動的に取得していますので、ここから先は自身で追ってみてください。

投稿2018/02/01 05:42

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lista

2018/02/01 06:33

ご回答ありがとうございます。詳しく解説していただき理解することができました。
guest

0

WordPress Codex 日本語版 関数リファレンス/wp headに、ソースファイルはwp-includes/general-template.phpと記載があります。
その1070行目(4.9.1の場合のみ確認)より少し後くらいに<title>の記載があります。
もしtitleの出力方法を変えたい場合でもこの部分を直接編集することはせず、functions.phpに記述する形でカスタマイズしてください。
参考サイト:寝ログ-WordPressでタイトルを変更するカスタマイズ方法(タイトル、タグライン、サイト名の設定)

投稿2018/02/01 05:50

編集2018/02/01 05:58
dit.

総合スコア3235

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lista

2018/02/01 06:33

ご回答ありがとうございます。参考サイトも読んでみます。
guest

0

もしかして、Wordpress既存のテンプレート使ってたりしてませんか?
twentyseventeenとか。
それだと確かに、header.phpにはtitleは入ってないですね。
Wordpress twentyseventeen wp_head titleタグ、とかで調べてみてはいかがでしょうか。

ただ、wordpressの根幹の仕組みに関わる部分なので、
そういう記事って、滅多に出ないと思いますけど・・・。

投稿2018/02/01 05:46

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lista

2018/02/01 06:33

ご回答ありがとうございます。TwentySeventeenではないのですが、テーマによって<title>タグがあったりなかったりするのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問