必要に迫られて、body 開始タグ直後に、ある記述を追記しなければならなくなった。
こういうとき、最近のテーマにはちゃんとコードの追加機能がついてるものがけっこうある。
body 開始タグ直後に限らず、<Head>へのコードの挿入や、body 開始タグ直前に記述を追加できたりする。
しかし、今回はなぜかそのbody 開始タグ直後へのコード追加記入欄にコードを追加したところ、そこで設定を保存しようとすると404エラーを起してしまった。
そのテーマでは以前にも同じようにWebフォントの読み込みコードを追記して同じ症状に悩まされた経験があった。
そのテーマのフォーラムがしっかりしていて、問い合わせるとすぐに回答があったが上手くいかず、何度かのやりとりでサーバとの相性がうたがわれた。最終的にはWAFの一時解除、ということに落ち着いたが、それはどうもいただけない。
そのときに紹介してもらったのがプラグイン。Head, Footer and Post Injections という、その名の通りHeadやFooterにコードを追加できるものだ。
しかし今回はbody 開始タグ直後。
どうしたものかとしらべてみると、実に簡単な方法を見つけた。
これは子テーマを使用してることが条件となるが、「概観」→「テーマエディター」で子テーマの functions.php に以下のように記述を追加する。
add_action(
‘wp_body_open’,
function() {
?>
// ここに任意のコードを記述
<?php
}
);
やってみたら、上手くいきました。 こんなに簡単ならわざわざ余計なプラグインいれなくていいですね。
それならば…
それならばと、ついでにheadタグ内にコードを追記したい場合も調べてみました。こっちの方が需要は多そう。
同様に子テーマの functions.php に以下のように記述すると良いようです(ごめん、これは試してはいない)
function meta_headcustomtags() {
$headcustomtag = <<<EOM
// ここに任意のコードを記述
EOM;
echo $headcustomtag;
}
add_action( ‘wp_head’, ‘meta_headcustomtags’, 99);
困ったときは試してみてください。
参照サイト
https://snow-monkey.2inc.org/2019/06/17/wp-body-open/
https://open-cage.com/functions-php-meta-headcustomtags/