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

タナビーの高梨です。
WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回はcocoon設定画面で使用されているinputタグ周りを編集できるフィルターフック
👉admin_input_form_tag
です
フックの概要
フック名 | 発火タイミング |
---|---|
admin_input_form_tag | cocoon設定起動時 |
発火条件
coccon設定起動時に各設定ごとに無条件に発火します。
使いどころ
・Cocoon設定画面のinputタグのHTML構造を変更できます
・たとえば、特定の設定項目に独自のclass属性やstyle属性を追加したい場合などに有効です
・設定項目ごとに個別に呼び出されるため、特定の設定だけに限定して処理を追加することも可能です
それほど意味があるかどうかはよく分かりません
apply_filters呼び出し元のソースコード
lib/html-forms.php
echo apply_filters('admin_input_form_tag', $res, $name);
(複数個所)
引数
$res:(string)HTMLタグ
$name:(string)設定ごとに割りついているユニークな名前
カスタマイズコード例
全てのサムネイルサイズを無条件に変更する例です。
function customize_admin_input_form_tag() {
if($name == 'xxxx') {
$res = ~~ // 編集する
}
return $res;
}
add_filter( 'admin_input_form_tag', 'customize_admin_input_form_tag', 10, 2 );
注意点
・$name を指定せずに $res を直接変更すると、すべての設定項目に影響してしまうため注意が必要です
・あくまで設定画面(管理画面側)専用のフックであり、サイト表示部分には影響しません
まとめ
・admin_input_form_tag
フックは、Cocoon設定画面の入力フォームHTMLを直接変更できるフィルター
・設定画面のデザイン調整や入力欄の独自装飾を行いたい場合には覚えておくと便利です