WordPressの柔軟な拡張性の中核を担う仕組みのひとつが「アクションフック」です。
本記事では、add_action()
と do_action()
の基本的な使い方から、実践的な活用例までをわかりやすく解説します。
アクションフックの使い方を知りたい方は、ぜひ本記事をチェックしてください。
目次
アクションフックとは?
アクションフック(Action Hook)は、WordPressが特定のタイミングで処理を実行するために用意したポイントです。
テーマやプラグイン開発者は、このタイミングで独自の関数を登録して追加の処理を行えます。
アクションフックがあることで、テーマやプラグインを直接編集しなくても、関数の処理を独自にカスタマイズすることができます。
たとえば、投稿が保存された後にログを出力したり、ページのフッター部分にバナーを表示したりといった、「何かを実行する」ために使います。
add_action() の基本構文
add_action()
は、アクションフックに独自の関数を登録するための関数です。
add_action( $hook_name, $callback_function, $priority, $accepted_args );
$hook_name
:アクションフック名(例:wp_footer
)$callback_function
:呼び出す関数名$priority
(省略可):実行順序の優先度(デフォルトは10、数値が小さいほど先に実行)$accepted_args
(省略可):コールバック関数が受け取る引数の数(デフォルトは1)
do_action() の基本構文
do_action()
は、登録されたすべてのアクション関数を呼び出すための関数です。
通常、WordPressコアやテーマ、プラグイン内の処理ポイントに設置されています。
do_action( $hook_name, ...$args );
$hook_name
:アクションフック名...$args
:コールバックに渡す任意の引数
実際の使用例
フッターにカスタムメッセージを追加する
function add_custom_footer_message() {
echo '<p style="text-align:center;">© 2025 あなたのサイト名</p>';
}
add_action( 'wp_footer', 'add_custom_footer_message' );
このコードは、サイトのフッター部分に著作権メッセージを表示します。
独自アクションフックを作成し、処理を追加する
テーマやプラグイン内で独自のアクションフックを定義して、拡張ポイントを設けられます。
// 独自アクションの呼び出し
do_action( 'my_custom_action', 'パラメータ1', 123 );
// アクションに登録する関数
function my_custom_action_function( $param1, $param2 ) {
echo "パラメータ1は {$param1}、パラメータ2は {$param2} です。";
}
add_action( 'my_custom_action', 'my_custom_action_function', 10, 2 );
よく使われるアクションフックの例
init
:WordPressの初期化時wp_enqueue_scripts
:スクリプト・スタイルの読み込み時wp_footer
:フッター部分の出力時admin_menu
:管理画面メニューの構築時
アクションフックを使う際の注意点
- 戻り値は必要ない:アクションフックのコールバック関数は処理を実行するだけで、値を返す必要はありません。
- ユニークな関数名を使う:他と競合しないようにプレフィックスなどを付けるのがベターです。
- 優先度を調整して処理の順番を制御できる:複数の関数が登録されている場合に有効です。
フィルターフックとの違い
比較項目 | アクションフック | フィルターフック |
---|---|---|
主な目的 | 処理の追加・実行 | データの変更・加工 |
戻り値 | なし | 必須(値を返す) |
使用例 | wp_footer , init | the_content , the_title |
アクションフックは、WordPressが特定の処理を行う「タイミング」で、追加の処理(関数)を実行したいときに使います。
フィルターフックは、WordPress内部の「データが処理される途中」に割り込んで、そのデータを変更・加工したいときに使います。
- アクションフックは「何かを実行したいとき」に使う。→ 処理の追加
- フィルターフックは「データを変更したいとき」に使う。→ 値の加工・上書き
まとめ
アクションフックはWordPressの拡張を可能にする強力な仕組みです。
add_action()
で処理を登録し、do_action()
で登録された処理を呼び出す流れを理解することで、テーマやプラグインの柔軟なカスタマイズが実現します。