cocoonフック調査~cocoon_exclude_script_movement_from_contentの使い方と活用例

2025年9月28日
cocoon
WordPress

タナビーの高梨です。

WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。

分かる範囲で内容を調査したのでブログにまとめていこうと思います。

今回は本文中のscript出力を操作をしているロジックで対象となるスクリプトを除外するかの判断を変更できるフィルターフック
👉cocoon_exclude_script_movement_from_content
です

フックの概要

フック名発火タイミング
cocoon_exclude_script_movement_from_content本文データ展開時(’the_content’フィルター)

発火条件

the_contentのフィルターフック発火時に発火すると見せかけて、下記の理由により絶対に発火しないと思われます。

発火しない理由

apply_filters()がコールされている箇所は下記のような内容になっています。

このうち、is_footer_javascript_enable()は以下の通りに定義されています。

is_footer_javascript_enable()が必ずfalseで返るため、apply_filters()がコールされるに至りません。

apply_filters呼び出し元のソースコード

引数

$is_exclude:(boolean)true:scriptを除外する、false:scriptを除外しない

$script:(string)対象となるスクリプト

カスタマイズコード例

強制的に$scriptが’scriptA’の場合に展開しない場合の例ですが、おそらく絶対に実行されません。

※includes_string()はcocoonのテーマで定義されている関数(utils..php)

注意点

・Cocoon標準のままでは 必ず実行されないフィルターフック です

・他テーマやCocoonの将来バージョンで is_footer_javascript_enable() の返り値が変われば利用できる可能性があります。

・現状では「存在するが死んでいるフック」と理解しておくのが無難です

まとめ

・cocoon_exclude_script_movement_from_contentは本文中のscript出力を操作をしているロジックで対象となるスクリプトを除外するかの判断を変更できるフィルター

・ただし Cocoon の現行コードでは条件分岐により 発火しない仕様

・実際のカスタマイズ用途はなく、将来的な変更に備えて存在している可能性が高い