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

2025年7月21日
cocoon
CODE
WordPress

タナビーの高梨です。

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

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

今回は記事の抜粋を書き換えられるフィルターフックである
content_excerpt_beforeとcontent_excerpt_after
です。

フックの概要

フック名発火タイミング
content_excerpt_before抜粋内容作成元の本文取得時
content_excerpt_after抜粋内容編集直後

フックの発火条件

投稿記事の抜粋を表示する際に、記事に抜粋が設定されていない場合に発火します。

記事に抜粋が設定されている場合は、どちらのフックも発火しません。

使いどころ

cocoonでは、投稿記事に抜粋が設定されていない場合、本文から抜粋を編集しています。

content_excerpt_beforeはその元となる本文を書き換えることができるフックです。

ただし、content_excerpt_afterは編集後の抜粋(つまり最終的に表示される内容)を書き換えらるフックであるため、content_excerpt_beforeで元を書き換える必要性が今一つ理解できません。

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

引数

$content:(string)入力となる記事本文

カスタマイズコード例

注意点

抜粋が手動設定されている投稿では、どちらのフックも発火せず処理が無視されます

before にて本文を編集すると、抜粋の文脈が意図せず変わる可能性があります

まとめ

content_excerpt_before と content_excerpt_after は、Cocoonの自動生成される抜粋に対しどちらの段階でもカスタム処理が可能です。

戦略によっては、2つのフックを併せて使うことで、抜粋元に含める語を取捨選択し、

表示系に「続きを読む」リンクなどを追加する

といった応用ができそうです。

ぜひ目的に応じて活用してみてください。