- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/add action
提供: WordPress Codex 日本語版
このページ「関数リファレンス/add action」は注未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています。
説明
特定のアクションに関数をフックします。
アクションフックの一覧は アクションフック一覧 をごらんください。アクションは(通常は) WordPress コアが do_action() を呼び出すときにトリガーされます。
使い方
<?php add_action( $tag, $function_to_add, $priority, $accepted_args ); ?>
パラメータ
- $tag
- (文字列) (必須) フックするアクション名 (アクションの一覧は アクションフック一覧 を参照)
- 初期値: なし
- $function_to_add
- (コールバック) (必須) 呼び出す関数名。注: any of the syntaxes explained in 'callback' タイプについてのドキュメント で説明される構文は全て有効です。
- 初期値: なし
- $priority
- (整数) (オプション) 関数の重要度です。呼び出す関数と他の関数との順序を変更します。デフォルト値は 10 で、例えば 5 に設定すると早く実行され、12 に設定すると遅く実行されます。
- 初期値: 10
- $accepted_args
- (整数) (オプション) 関数の引数の数です。WordPress 1.5.1+ では、フックした関数は、対応する do_action() あるいは apply_filters() が実行される時に、余分に引数を取ることができます。例えば、アクション comment_id_not_found は、これにフックする関数に、リクエストされたコメントの ID を渡すことができます。
- 初期値: 1
用例
単純なフック
ブログに投稿したときに、メールで友人に知らせます。
function email_friends($post_ID) { $friends = 'bob@example.org, susie@example.org'; mail($friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com'); return $post_ID; } add_action('publish_post', 'email_friends');
引数を取る
フックした関数は、アクションから引数を 1 つ取ります。特に 'echo_comment_id' 関数は、$comment_ID を取ります。この例は、受け取った引数の値を画面に表示します。
function echo_comment_id($comment_ID) { echo "I just received $comment_ID"; } add_action('comment_id_not_found','echo_comment_id', 10, 1);
注
フックしたい関数の引数の数および引数名を確認したいときは、'code base'より該当する関数のdo_action()を探します。 たとえば、'save_post'関数にフックしたいとき、post.phpに次の行を見つけることができます。
do_action('save_post', $post_ID, $post);
add_actionの呼び出しは次のようになります。
add_action('save_post', 'my_save_post');
そして関数は以下のようになります。
function my_save_post($post_ID, $post) { //コードをここに記述 }
更新履歴
1.2.0 以降
ソースファイル
add_action() は wp-includes/plugin.php
にあります。
最新英語版: WordPress Codex » Function Reference/do_action
関連資料
アクション: has_action(), add_action(), do_action(), do_action_ref_array(), did_action(), remove_action(), remove_all_actions()
関数リファレンス、テンプレートタグ目次もご覧ください。