cocoonフック調査~cocoon_part_before__{$slug}、cocoon_part_after__{$slug}

タナビーの高梨です。

WordPressのテーマ「cocoon」では、豊富なアクションフックとフィルターフックが提供されています。

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

今回はテンプレートファイルの読み込み前後に発火するアクションフック
cocoon_part_before__{$slug}

cocoon_part_after__{$slug}
です。

使いどころ

おそらくすべてのテンプレートファイルで発火するので、テンプレートの前後に何かを表示したい場合に使えます。

例えば以下の例はパンくずリストのテンプレートであるtmp/breadcrumbsの前後に表示した例。

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

/lib/utils.php

if (has_filter("cocoon_part_before__{$slug}")) {
  do_action("cocoon_part_before__{$slug}");
}

if (has_filter("cocoon_part_after__{$slug}")) {
  do_action("cocoon_part_after__{$slug}");
}

引数

$slug:(string)テンプレートのスラッグ

カスタマイズコード例

上記のパンくずリストの例

function customize_cocoon_part_before__tmp_breadcrumbs( $slug ) {
    
    echo '<div style="background:red;color:white">ここからパンくずリストのテンプレートが始まります</div>';

}
add_action('cocoon_part_before__tmp/breadcrumbs', 'customize_cocoon_part_before__tmp_breadcrumbs' );

function customize_cocoon_part_after__tmp_breadcrumbs( $slug ) {
    
    echo '<div style="background:red;color:white">ここまでがパンくずリストのテンプレートでした</div>';

}
add_action('cocoon_part_after__tmp/breadcrumbs', 'customize_cocoon_part_after__tmp_breadcrumbs' );