header.phpがないWPテーマ

Twenty Twenty-Twoに「header.php」ファイルが存在しない【GAスクリプトはどこへ?】

Last Updated on 2022年12月3日

公式テーマTwenty Twenty-Twoを使った当サイトにGoogleAnalytics用のスクリプトを組み込もうとしたら、お目当ての「header.php」ファイルが見あたりません。

一つ前のTwenty Twenty-Oneにはあるようなのですが、どこへ行ってしまったのでしょう。

header.phpが無いデフォルトテーマ

当記事の投稿後にFontAwesomeを導入するためfunctions.phpを使ったhaedタグへの記述を試してみたところ安定して動作しているようです。

参照:標準テーマでFontAwesomeを使用【TentyTwenty-Twoの場合】

導入するプラグインを少なくしたい方は自己責任で試してみても良いかもしれません。

「GoogleAnalytics」はWordPressサイトではほぼ必須と言っても良いツールですので是非導入したいところです。

通常であれば、GoogleAnalyticsのスクリプトをheader.phpの中のheadタグの中に書き込むのですが、Twenty Twenty-Twoにはheader.phpファイルが存在しません。

似たような名前のファイル(header-default.php)は存在するのですが、肝心のheadタグは記述されておらず他のファイル群を覗いてもheadタグは見つかりません(探せなかっただけかも)。

ちなみにTwenty Twenty-Twoを有効にした状態だとテーマフィルエディターもメニューに表示されず(ツールに移動)。あるのはベータ版(Ver1.2時点)のエディターなのでファイルの詳細をブラウザ上では確認できません。

※テーマファイルエディターは従来のメニューバーにある「外観」からでなくTwenty Twenty-Twoでは「ツール」からアクセスできるようになっています。

代わりにプラグインを使う

header.phpファイルがなくてもGA用のスクリプトは書き込むことができますが、本来の正しい記述方法はheadタグの中です。

ここは大人しくプラグインを使うことにします。

使用したプラグインはHead, Footer and Post Injectionsというプラグイン。

参照:Head, Footer and Post Injections

この手のプラグインの名前にはheaderという文字が入っているのですが、目的はheadタグなのでパーツとしての任意の名称にも使われるheaderがプラグインの名称だと戸惑います

実際に必要なスクリプトをタグごと記入してやれば、ちゃんとheadタグ内にスクリプトが入ってくれるようです(ブラウザの開発ツールで確認できました)。

ポイントはプラグインの設定でスクリプトだけ書くのではなく、ちゃんとheadタグで囲んだやるところです。

GoogleAnalytics意外にもheadタグ指定がある

今回は、GoogleAnalyticsの例でしたが、他にもWebアイコンフォント(Fontawesome等)を使う場合などスタイルシートの読み込みにやはりheadタグの中に指定の記述が必要になります。

Twenty Twenty-Twoのテーマディレクトリの中に、headタグを記述しているファイルは見つからないことからTwenty Twenty-TwoではWordPress側でheadタグを生成していることも考えられます。

今回はプラグインを使ってスクリプトを挿入していますが、Twenty Twenty-Twoでheader.phpが無くなっているということは、今後リリースされる標準テーマでもheader.phpは使われないことが予想されます。

headタグ関連の記述のためにプラグインが必須ということもないでしょうから、今後公式テーマを採用するにはその辺の対策を見据えながら使っていくことになりそうです。