add_filter()とadd_action()を理解するために

add_filter()とadd_action()を理解しよう。
フックとは
ワードプレスには、フィルターフック、アクションフックと呼ばれるフックが存在します。
フックは“きっかけ”のこと。
ワードプレスにはいろんなタイミングでフックが用意されている。
wp_footer()が実行されるタイミング。
the_content()が実行されるタイミング
などなど。
フックを使うということは、これらのタイミングに合わせて自分が用意した関数を実行させるということ。
このフックを利用するタイミングで、add_filter()とadd_action()を利用する。
add_filter()の使い方
1 |
<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?> |
それぞれのパラメータの使い方
$tag(必須)→$function_to_add引数で指定した関数を登録するフィルターフックの名前。
$function_to_add→フィルターが適用された時に呼び出される関数の名前。
$priority→フィルターフックに登録された関数の中で、この関数を実行する順序。数値が小さいほど早く実行し、同じ数値の場合は追加された順に実行する。(初期値:10)
$accepted_args→関数が受け取る引数の個数。(初期値:1)
add_action()の使い方
1 |
<?php add_action( $hook, $function_to_add, $priority, $accepted_args ); ?> |
それぞれのパラメータの使い方
$tag(必須)→$function_to_addがフックされるアクション名。
$function_to_add→フックする関数名。。
$priority→特定のアクションに関連づけられている関数が実行される優先順序を指定する。少ない数であれば早く実行され、同じ数の優先度である関数はアクションに追加された順序で実行される。(初期値:10)
$accepted_args→フックした関数が受け入れられる引数の数。(初期値:1)
add_filter()とadd_action()のサンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//カスタム投稿"wordpress"の管理画面に投稿IDを出力する function manage_wordpress_columns ($columns) { $columns = array( 'cb' => '<input type="checkbox" />', 'title' => 'タイトル', 'post_id' => 'ID', 'date' => '日時', ); return $columns; } function add_postid_row($column, $post_id) { if( $column == 'post_id' ) { echo $post_id; } } add_filter('manage_edit-wordpress_columns', 'manage_wordpress_columns'); add_action( 'manage_posts_custom_column', 'add_postid_row', 10, 2 ); |
それぞれのフックで使っているプラグインは以下です。
- 【フィルターフック】
- manage_edit-${post_type}_columns
- 【アクションフック】
- manage_posts_custom_column
参考URL
・プラグイン API/フィルターフック一覧 – WordPress Codex 日本語版
・関数リファレンス/add filter – WordPress Codex 日本語版
・プラグイン API/アクションフック一覧 – WordPress Codex 日本語版
・関数リファレンス/add action – WordPress Codex 日本語版