cocoonフック調査~wp_amp_footer_insert_open、wp_footer_insert_openの使い方と活用例

タナビーの高梨です。
WordPressのテーマ「cocoon」では、豊富なアクションフックとフィルターフックが提供されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回はフッターのスクリプトを設定している最後の最後で発火するアクションフック
wp_amp_footer_insert_openとwp_footer_insert_openです。
フックの概要
フック名 | 発火タイミング |
---|---|
wp_amp_footer_insert_open | AMPページのフッター直前(※条件付き) |
wp_footer_insert_open | 通常ページのフッター直前 |
フック発火条件
これらのフックは、以下の条件を満たす場合に発火します:
・wp_amp_footer_insert_open は、AMPページでのみ発火します。ただし、Cocoonの実装では、is_amp() 関数が常に false を返すため、実際には発火しません。AMP対応を意図する場合は、テーマの修正が必要です。
・wp_footer_insert_open
は、通常のページでのみ発火します。
使いどころ
どちらもフッターのスクリプトを設定している一連の流れの最後に発火します。
フッターに独自のスクリプトを設定したいときに使えます。例えば、
・Google Analytics や Facebook Pixel のコードを追加する
・広告タグやカスタム JavaScript を挿入する
do_action呼び出し元のソースコード
/tmp/footer-scripts.php
if (is_amp()) { <=必ずfalseになる
//AMP用のフッターアクションフック
do_action( 'wp_amp_footer_insert_open' );
~~省略
else {
//フッター用のアクションフック
do_action( 'wp_footer_insert_open' );
引数
なし
カスタマイズコード例
scriptを設定したいときの例です。
function customize_wp_footer_insert_open() {
wp_enqueue_script(
'my-script',
plugin_dir_url(__FILE__) . 'js/my-script.js',
array('jquery'),
'1.0.0',
true,
);
}
add_action('wp_footer_insert_open', 'customize_wp_footer_insert_open' );
注意点
wp_amp_footer_insert_open は、Cocoon の現行実装では AMP ページで発火しません。AMP 対応を希望する場合は、テーマの修正が必要です。
まとめ
wp_amp_footer_insert_open と wp_footer_insert_open は、Cocoon のフッター部分に独自のスクリプトを挿入するためのアクションフックです。
ただし、現行の Cocoon では wp_amp_footer_insert_open が AMP ページで発火しないため、AMP 対応を希望する場合はテーマの修正が必要です。
通常ページのフッターにスクリプトを追加する際には、wp_footer_insert_open を活用してみてください。