アクションフック
add_action( $hook_name, $callback, $priority, $accepted_args );
- $hook_name
コールバックを追加するアクションの名前
- $callback
アクションが呼び出されたときに実行されるコールバック
- $priority
コールバック関数が実行される順序(
default:10
)- $accepted_args
関数が受け入れる引数の数
基本的な使い方
// 例)フック「diver_main_wrap_before」で関数「custom_my_function()」を実行したい場合add_action( 'diver_main_wrap_before', 'custom_my_function');function custom_my_function(){ echo '<p>Hello World!</p>';}
コールバック関数の実行順序について
アクションフックに対して複数のコールバック関数を実行する場合があります。その際に実行順序を指定することで項目を並び替えたりすることが可能です。
コールバック関数の実行順序を指定しない場合には、デフォルトで10
が適用されます。実行順序が指定されている場合には
// 同じフックで複数の関数を実行するadd_action( 'diver_main_wrap_before', 'custom_my_function_a' );add_action( 'diver_main_wrap_before', 'custom_my_function_b' );add_action( 'diver_main_wrap_before', 'custom_my_function_c' );
custom_my_function_a
→custom_my_function_b
→custom_my_function_c
の順番で実行されます。
次にそれぞれのコールバックに実行順序を指定してみましょう。
// 同じフックで複数の関数を実行するadd_action( 'diver_main_wrap_before', 'custom_my_function_a', 20 );add_action( 'diver_main_wrap_before', 'custom_my_function_b', 30 );add_action( 'diver_main_wrap_before', 'custom_my_function_c', 10 );
実行順序は数値の低い順番に実行されますので、custom_my_function_c
→custom_my_function_a
→custom_my_function_b
の順番で実行されます。
re:Diverのカスタマイズでよく使われるアクションフック一覧
re:Diverにはたくさんのアクションフックが搭載されております。アクションフックを利用することで無限大のカスタマイズを実装することが可能です。
サイト全体
サイト全体のほとんどのページで実行されるフックです。特定のページで表示・非表示を切り替える場合には、フックする関数内で条件分岐を設定してください。
コンテンツエリア
メインエリア内のコンテンツエリア内にて実行されるフックです。