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

2025年9月27日
cocoon
WordPress

タナビーの高梨です。

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

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

今回は本文中のscript出力を操作をしているロジックを実行するかしないかを変更できるフィルターフック
👉get_the_content_all_scripts
です

フックの概要

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

発火条件

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

発火しない理由

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

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

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

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

引数

$get_the_content_all_scripts:(boolean)true:scriptを展開する、false:scriptを展開しない

カスタマイズコード例

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

注意点

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

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

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

まとめ

・get_the_content_all_scripts は本文内の<script>タグ展開を制御するためのフィルター

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

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