header-default.phpへheadタグ

header-default.phpファイルにheadタグの記述は可能か

Last Updated on 2022年8月2日

Twenty Twenty-Twoのthemeディレクトリにはheader.phpがありません。

代わりにあるのがheader-default.phpというファイル。

header-default.phpにheadタグを記述してみる

以前にアクセス解析のスクリプトをheadタグへ記述するのにプラグインに頼ったという内容の記事を書いていました。

理屈が分かっていれば、エディターを使って書き込めるところを、WordPress利用歴がある程度になると逆に面倒な気がします。

そこで、名前が似ているheader-default.phpの中に無理矢理headタグを割り込ませてみました。

以下の内容は、回復困難なサーバーエラーを起こす原因になりますので注意が必要です

headタグを記述したのはheader-default.phpファイルの先頭行です。

該当ファイルを子テーマにFTP転送した後にブラウザの開発ツールで確認したところ、headタグ内にスクリプトがちゃんと書き込まれているものの場所はheadタグの一番先頭

header-default.phpに書いたheadタグはMETAタグなどより先に読み込まれることになるので、これはこれで想定外のことです。

本来、追加のスクリプトは</head>の直前に挿入できれば理想かと思われますのでWebページの表示的には問題ないにしても読み込ませるスクリプトの種類によってはMETAタグを差し置いてということになります。

なお、先頭以外の場所では、サーバーレベルのエラーが表示されWordPressページが表示されませんでした。

テーマファイルエディターさえなくなった標準テーマ

header-default.phpが置かれているのは、Twenty Twenty-Twoディレクトリ内のinc→patternsの中です。

子テーマでincディレクトリの下にpatternsディレクトリを配置し、その中にheader-default.phpファイルをコピーしてheadタグを追記してやればheadタグ内へのheadタグ内への追加記述は可能です。

Twenty Twenty-Twoにはテーマファイルエディターがない(ツールで表示される)ことを考えると、そもそもこの標準テーマには子テーマという概念がないのかも知れません。

テーマファイルエディターはダッシュボードメニューのツールへ項目が変更になっていました。Twenty Twenty-Two以外のテーマではWordPress6.0でも今まで通り外観からアクセスできるようです。

その辺を考えると、headタグ内への記述はやはりプラグインに頼るのが一番安全なようです。