cocoonフック調査~cocoon_add_theme_settings_page_separator_positionの使い方と活用例
タナビーの高梨です。
WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回は管理画面メニューのセパレータの位置を変更できるフィルターフック
👉cocoon_add_theme_settings_page_separator_position
です
フックの概要
| フック名 | 発火タイミング |
|---|---|
| cocoon_add_theme_settings_page_separator_position | 管理メニュー表示時 |
発火条件
管理メニュー表示時に無条件で発火します。
使いどころ
管理メニューのセパレーター位置を変更できますが、何のためにそうしたいのか分かりません。
「cocoon設定」のメニュー内の表示位置を変更した際にセパレーター位置も変更するということなのか。
別に変更してもしなくても大して変わらないような気がしますが・・・
apply_filters呼び出し元のソースコード
lib/original-menu.php
add_admin_menu_separator(apply_filters('cocoon_add_theme_settings_page_separator_position', 29));
引数
$position:(int)位置
カスタマイズコード例
function customize_cocoon_add_theme_settings_page_separator_position ( $position ) {
$position = 2;
return $position;
}
add_filter('cocoon_add_theme_settings_page_separator_position', 'customize_cocoon_add_theme_settings_page_separator_position' );
cocoon設定のデフォルト表示位置が29なのでセパレータの表示位置も29がデフォルトになっているのだと思いますが、cocoon設定の表示位置を変えたところでセパレーターが多少ずれていても誰も気づかないレベルだとしか思えませんのでカスタマイズする意味が分かりません。
注意点
・このフックを変更しても 見た目の変化は非常にわずか
・セパレーターは UI 補助レベルなので、変更の必要性がほぼない
・他プラグインが管理メニューを大量に追加している場合にだけ、意味があるかもしれない程度
まとめ
・cocoon_add_theme_settings_page_separator_position は、管理メニュー内のセパレーター位置を変更するためのフック
・発火条件は「管理メニュー表示時」で、使いどころはほぼ限定的
・実用面ではメリットが薄く、特殊なケース向けのフックと言えそうです