• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

プラグイン API/アクションフック一覧

提供: WordPress Codex 日本語版
< プラグイン API
2011年3月10日 (木) 00:34時点におけるTecking (トーク | 投稿記録)による版 (管理画面リクエスト中に実行されるアクション)

移動先: 案内検索

この記事は(おそらくほぼ完全な)アクションフックの一覧です。アクションフックはバージョン2.1以降から、プラグインおよびテーマ開発時に利用できるようになっています。詳しい情報については下記もご覧下さい。

注: もしこの文書に情報を追加したり、内容をより分かりやすく書き換えたい場合は、現在のスタイルに従って編集を行ってください。

一般的リクエスト中に実行されるアクション

以下はバージョン 3.0.1でログインしているユーザーがホームページを表示したときに実行されるアクションです。この一覧には、アクションが最初に呼び出される際のみの情報が含まれています。テーマやプラグインによってさらに違ったタイミングで何度かアクションが呼び出されることもあります。その証拠に、Twenty Ten テーマ特有のアクションコールも以下に見ることができます。また、Cron タスクもサイト訪問の際にアクションを実行することがあります。以下の一覧は明確なスペックではなく大体の目安として参照してください。

  1. muplugins_loaded
  2. plugins_loaded
  3. sanitize_comment_cookies
  4. setup_theme
  5. load_textdomain
  6. after_setup_theme
  7. auth_cookie_malformed
  8. set_current_user
  9. init
  10. widgets_init
  11. register_sidebar
  12. wp_register_sidebar_widget
  13. wp_loaded
  14. parse_request*
  15. send_headers*
  16. pre_get_posts*
  17. posts_selection
  18. wp*
  19. template_redirect
  20. get_header
  21. wp_head
  22. wp_enqueue_scripts
  23. wp_print_styles
  24. wp_print_scripts
  25. get_template_part_loop
  26. loop_start*
  27. the_post*
  28. loop_end*
  29. get_sidebar
  30. dynamic_sidebar
  31. get_search_form
  32. parse_query*
  33. wp_meta
  34. get_footer
  35. twentyten_credits
  36. wp_footer
  37. wp_print_footer_scripts
  38. shutdown

アクション名のあとにアスタリスク(*) が付いているものは配列参照アクションであることを意味します。

管理画面リクエスト中に実行されるアクション

以下はバージョン 3.0.1でログインしているユーザーが管理画面の投稿ページを表示したときに実行されるアクションです。この一覧には、アクションが最初に呼び出される際のみの情報が含まれています。表示している管理画面ページや使っているプラグインによって違ったアクションが呼び出されます。以下の一覧は明確なスペックではなく大体の目安として参照してください。


  1. muplugins_loaded
  2. plugins_loaded
  3. sanitize_comment_cookies
  4. setup_theme
  5. load_textdomain
  6. after_setup_theme
  7. auth_cookie_valid
  8. set_current_user
  9. init
  10. widgets_init
  11. register_sidebar
  12. wp_register_sidebar_widget
  13. wp_loaded
  14. auth_redirect
  15. wp_default_scripts*
  16. _admin_menu
  17. admin_menu
  18. admin_init
  19. load-edit.php
  20. parse_request*
  21. send_headers*
  22. parse_query*
  23. pre_get_posts*
  24. posts_selection
  25. wp*
  26. admin_xml_ns
  27. wp_default_styles*
  28. admin_enqueue_scripts
  29. admin_print_styles-edit.php
  30. admin_print_styles
  31. admin_print_scripts-edit.php
  32. admin_print_scripts
  33. wp_print_scripts
  34. admin_head-edit.php
  35. admin_head
  36. in_admin_header
  37. adminmenu
  38. admin_notices
  39. restrict_manage_posts
  40. the_post*
  41. in_admin_footer
  42. admin_footer
  43. admin_print_footer_scripts
  44. wp_print_footer_scripts
  45. admin_footer-edit.php
  46. shutdown

アクション名のあとにアスタリスク(*) が付いているものは配列参照アクションであることを意味します。

投稿、ページ、添付ファイル、カテゴリー関連のアクション

add_attachment
データベースに添付ファイルが新規追加された際に実行する。
アクション関数引数: 添付ファイル ID
add_category
create_category と同様。
clean_post_cache
投稿キャッシュのクリア後に実行する。clean_post_cache() を参照。
アクション関数引数: 投稿 ID
create_category
カテゴリーが新規作成された際に実行する。
アクション関数引数: カテゴリー ID
delete_attachment
データベースから添付ファイルが削除された直後に実行する。
アクション関数引数: 添付ファイル ID
delete_category
データベースからカテゴリーが削除され、属していたリンク項目や投稿などからそのカテゴリー情報が削除された後に実行する。
アクション関数引数: カテゴリー ID
delete_post
投稿またはページが削除される直前に実行する。
アクション関数引数: 投稿 ID またはページ ID
deleted_post
投稿またはページが削除された直後に実行する。
アクション関数引数: 投稿 ID またはページ ID
edit_attachment
データベースで添付ファイル情報が編集・更新された際に実行する。
アクション関数引数: 添付ファイル ID
edit_category
カテゴリーが更新・編集する際に実行する。これには、そのカテゴリーに属する投稿やリンクが追加・削除された場合(カテゴリー内の項目数が更新される)も含む。
アクション関数引数: カテゴリー ID
edit_post
投稿またはページが更新・編集された際に実行する。これには、コメントが追加・更新された場合(投稿またはページのコメント数が更新される)も含む。
アクション関数引数: 投稿 ID またはページ ID
pre_post_update
投稿またはページが更新される直前に実行する。
アクション関数引数: 投稿 ID
private_to_publish
投稿ステータス遷移も参照)投稿のステータスが非公開から公開へ変更された際に実行する。
アクション関数引数: 投稿オブジェクト(すべてのステータス変更に実行するアクションもある。wp_transition_post_status() を参照)
publish_page
投稿・ページが公開された際、またはステータスが「公開」に変更された場合に実行する。
アクション関数引数: ページ ID
注: バージョン2.3以上ではこのフックの代わり にwp_transition_post_status() を使用する。
publish_phone
メールから投稿が公開された直後に実行する。
アクション関数引数: 投稿 ID
publish_post
投稿が公開された際、または公開済み投稿の情報が編集された際に実行する。
アクション関数引数: 投稿 ID
save_post
インポート機能の利用、投稿・ページ編集フォームの利用、XMLRPCでの投稿、メールでの投稿のうちいずれかの方法で投稿・ページが作成・更新された際に実行する。実行されるタイミングはデータがデータベースに保存された後。
アクション関数引数: 投稿 ID
投稿 ID は最後に保存した投稿ではなく投稿履歴を参照していることもある。実際の投稿の ID を取得するには、wp_is_post_revision を使う。
wp_insert_post
動作はsave_postと同じ。save_post の直後に実行する。
xmlrpc_publish_post
XMLRPC リクエストによる投稿が作成された際、または XMLRPC を通してステータスが「公開」に変更された際に実行する。
アクション関数引数: 投稿 ID

コメント、ピンバック、トラックバック関連のアクション

comment_closed
コメントを受け付けない指定をした投稿で、コメント送信フォームを表示しようとする際に実行する。
アクション関数引数: 投稿 ID
comment_id_not_found
コメント送信フォームを表示しようとする際、投稿 ID が見つからなかった場合に実行する。
アクション関数引数: 投稿 ID
comment_flood_trigger
連続コメントエラーが検出された際、wp_dieが呼び出されてコメントを拒否する直前に実行する。
アクション関数引数: 前回のコメント送信日時、今回のコメント送信日時
comment_on_draft
コメント投稿フォームまたはコメントを表示しようとしている際、投稿が非公開状態の場合に実行する。
アクション関数引数: 投稿 ID
comment_post
コメントがデータベースに保存される直前に実行する。
アクション関数引数: コメント ID、承認ステータス(spam/スパム、0/未承認、1/承認済み)
edit_comment
データベース内でコメントが編集・更新された後に実行する。
アクション関数引数: コメント ID
delete_comment
コメントが削除される直前に実行する。
アクション関数引数: コメント ID
pingback_post
ピンバックが投稿に追加された際に実行する。
アクション関数引数: コメント ID
pre_ping
ピンバックが完全に処理される前に実行する。
アクション関数引数: 処理する投稿リンクの配列、投稿のピンバック受け付け設定
trackback_post
投稿にトラックバックが追加された際に実行する。
アクション関数引数: コメント ID
wp_blacklist_check
コメントをブラックリストに分類するかどうかチェックするために実行する。コメントを拒否するには、関数内でwp_dieを実行するか、入力引数に設定したブラックリストキーワードが含まれるように変更することができる。
アクション関数引数: 投稿者名、投稿者メールアドレス、投稿者URL、コメント本文、投稿者のIPアドレス、投稿者のユーザーエージェント情報
 ;wp_set_comment_status
コメントのステータスが変更された際に実行する。
アクション関数引数: コメント ID、変更後のステータスを表す文字列(delete/approve/spam/hold)

リンク集関連のアクション

add_link
リンク集にリンク項目が新規追加された際に実行する。
アクション関数引数: リンク ID
delete_link
リンク集からリンク項目が削除された際に実行する。
アクション関数引数: リンク ID
edit_link
リンク集のリンク項目が編集された際に実行する。
アクション関数引数: リンク ID

フィード関連のアクション

atom_entry (Atom フィード)
rdf_item(RDF フィード)
rss_item(RSS フィード)
rss2_item(RSS2 フィード)
各フィードで投稿情報が表示された直後、entry または item タグを閉じる前に実行する。
atom_head (Atom フィード)
rdf_header(RDF フィード)
rss_head(RSS フィード)
各フィードでブログの情報が表示された直後、一つ目の投稿の直前で実行する。
atom_ns (Atom フィード)
rdf_ns(RDF フィード)
rss2_ns(RSS フィード)
各フィードの XML 要素ルート内で名前空間を追加する際に実行する。
commentrss2_item
コメントフィードにコメント情報が表示された直後、<item>タグを閉じる前に実行する。
アクション関数引数: コメント ID、投稿 ID
do_feed_フィード名
RSS2、Atom、RDFなどのフィードが生成される直前に実行する。フィード名には rss2、atom などフィードの種類を入れる。フィードが表示さsれる前に実行するには、10以下のプライオリティを指定すること。
アクション関数引数: フィードの種類(コメントフィードなら true、投稿フィードなら false)

テンプレート関連のアクション

comment_form
標準のテーマにコメントを挿入するために実行する。
アクション関数引数: 投稿 ID
do_robots
テンプレートファイルを選択する際、リクエストが robots.txt に対するものの場合に実行する。
do_robotstxt
do_robots 関数内で robots.txt ファイルに Disallow リストを表示する際に実行する。
get_footer
テンプレートが get_footer 関数を呼び出した際、footer.php ファイルが読み込まれる直前に実行する。
get_header
テンプレートが get_header 関数を呼び出した際、header.phpファイルが読み込まれる直前に実行する。
switch_theme
ブログのテーマが変更された際に実行する。
アクション関数引数: 変更されたテーマの名称
template_redirect
リクエストされたページの表示に使用するテンプレートファイルを判断する前に実行し、プラグインがテンプレートファイルの選択を上書きできるようにする。
以下は(実用的ではない)例で、すべてのリクエストを現在のテーマディレクトリ内にある all.php ファイルにリダイレクトする。
function all_on_one () {
	include(TEMPLATEPATH . '/all.php');
	exit;
}
add_action('template_redirect', 'all_on_one');
wp_footer
テンプレートが wp_footer 関数を呼び出す際に実行する。wp_footer 関数は通常、ブログページの最後付近で使われる。
wp_head
テンプレートが wp_head 関数を呼び出す際に実行する。wp_head 関数は通常、ブログページの先頭付近の <head> 要素内で使われる。
wp_meta
sidebar.phpテンプレートが wp_meta 関数を呼び出す際に実行し、プラグインがサイドバーにコンテンツを挿入することができるようにする。
wp_print_scripts
ページの <head> 要素に、登録された JavaScript を出力する直前に実行する。

管理画面関連のアクション

activate_プラグインファイル名
プラグインを初めて有効化する際に実行する。register_activation_hook() /en を参照。
activity_box_end
管理画面ダッシュボードページで、「ブログの最新状況/現在の状況」ボックス部分の最後に実行する。
add_category_form_pre
管理画面で、カテゴリー追加フォームがページに表示される前に実行する。
admin_head
管理画面各ページ HTML の <head> 要素内で実行する。
admin_head-ページフック名
admin_head-プラグイン管理ページ名
プラグインが生成した管理画面ページの <head> 要素内で実行する。
admin_init
管理画面各ページの最初、ページがレンダリングされる前に実行する。wp-admin/admin.phpwp-admin/admin-post.phpwp-admin/admin-ajax.php を参照。
admin_footer-(plugin_page)
プラグインが生成した管理画面ページの <body> 要素の最後で実行する。
admin_footer
管理画面各ページの <body> 要素の終盤で実行する。
admin_print_scripts
管理画面各ページの <head> 要素に JavaScript を追加するために実行する。
admin_print_styles
管理画面各ページの <head> 要素に CSS を追加するために実行する。
admin_print_scripts-ページフック名
admin_print_scripts-プラグイン管理ページ名
プラグインが生成した管理画面ページの <head> 要素に JavaScript を追加するために実行する。「ページフック名」は add_management_page()、add_options_page() などのプラグインメニュー項目を追加する関数を使った場合に返される。例は以下のとおり。
function myplugin_menu() {
  if ( function_exists('add_management_page') ) {
    $page = add_management_page( 'myplugin', 'myplugin', 9, __FILE__, 'myplugin_admin_page' );
    add_action( "admin_print_scripts-$page", 'myplugin_admin_head' );
  }
}
check_passwords
新規ユーザー登録の際、パスワードの二重入力がマッチするか確認するために実行する。
アクション関数引数: ログイン名配列、1度目に入力されたパスワード、2度目に入力されたパスワード
dbx_post_advanced(投稿)
dbx_page_advanced(ページ)
各編集管理画面の、詳細オプション部分の最後に実行する。
dbx_post_sidebar(投稿)
dbx_page_sidebar(ページ)
各編集管理画面のサイドバー部分の最後に実行する。WordPress 2.5以上では add_meta_box() を使用すること。
deactivate_プラグインファイル名
プラグインが無効化された際に実行する。
delete_user
ユーザーが削除された際に実行する。
アクション関数引数: ユーザー ID
edit_category_form
カテゴリー追加・編集フォームが管理画面に表示された後、<form>要素の閉じタグの前に実行する。
edit_category_form_pre
カテゴリー編集フォームが管理画面に表示される前に実行する。
edit_tag_form
タグ編集フォームが管理画面メニューに表示される前に実行する。
edit_tag_form_pre
タグ追加・編集フォームが管理画面に表示された後、HTML フォームタグの最後よりも前に実行する。
edit_form_advanced(投稿)
edit_page_form(ページ)
編集画面で、詳細設定のセクションが読み込まれる直前に実行する。
edit_user_profile
管理画面のユーザープロフィール編集ページ終盤で実行する。
load-ページ名
管理メニューページが読み込まれる際に実行する。このアクションは通常、直接追加されることはない。

管理メニューに追加するための詳細は管理画面のカスタマイズを参照。 直接使いたい場合は add_options_page やこれに似た関数の返り値としてアクション名の「ページ名」の部分が返される。

login_form
ログインフォームが読み込みが完了する直前に実行する。
login_head
ログインページの <head> 要素の読み込みが完了する直前に実行する。
lost_password
ログイン画面のパスワード紛失フォームが表示される直前に実行する。
lostpassword_form
パスワード紛失フォームの終盤で実行され、プラグインがフォームにフィールドを追加できるようにする。
lostpassword_post
ユーザーがパスワードの再発行をリクエストした際に実行する。これにより、処理の前に PHP の $_POST 変数を修正できるようになる。
manage_link_custom_column
リンク管理画面で不明なカラム名が存在する際に実行する。詳しくはプラグイン API/フィルターフック一覧manage_posts_columns の項を参照。
アクション関数引数: カラム名、リンク ID
manage_posts_custom_column
投稿管理画面で不明なカラム名が存在する際に実行する。詳しくはプラグイン API/フィルターフック一覧manage_posts_columns(カスタムカラムを追加する)の項を参照。
アクション関数引数: カラム名、リンク ID
mce_options
リッチテキストエディター用に出力された、JavaScript設定リストの最後で実行する。
password_reset
ユーザーのパスワードがランダムな新パスワードにリセットされる前に実行する。
personal_options_update
ユーザーが管理画面から個人設定を更新した際に実行する。
plugins_loaded
すべてのプラグインが読み込まれた後に実行する。
profile_personal_options
ユーザープロフィールページの個人設定編集部分が読み込まれる終盤で実行する。
profile_update
ユーザープロフィールが更新された際に実行する。
アクション関数引数: ユーザー ID
register_form
新規ユーザー登録フォームの終わり直前で実行する。
register_post
新規ユーザー登録リクエストが処理される前に実行する。
restrict_manage_posts
管理画面で編集する投稿の一覧が出力される前に実行する。
retrieve_password
リマインダーメールを送信するためにユーザーのパスワードを取得した際に実行する。
アクション関数引数: ユーザーのログイン名
set_current_user
デフォルトの wp_set_current_user 関数で、ユーザーが変更された後に実行する(この関数はプラグインによる上書きが可能。詳しくはプラグイン API を参照)。
show_user_profile
ユーザープロフィール編集画面が読み込まれる終盤で実行する。
simple_edit_form
詳細設定のセクションが含まれない「シンプルモード」記事投稿フォームの終盤で実行する。デフォルトではシンプルモードフォームが使われるのはブックマークレットからの投稿のみ。
update_option_オプション名
update_option 関数でブログの設定を更新した後に実行する。例えばfooという設定が更新された場合にアクションを加えたい場合は、update_option_foo というアクションフックを定義する。
アクション関数引数: 古い設定値、新しい設定値
upload_files_タブ
アップロードファイル管理画面を出力する際に実行する。タブ名にはカスタムアクションのタブ名を入れ、wp_upload_tabs フィルターでカスタムタブを定義する。詳しくはプラグイン API/フィルターフック一覧、wp_upload_tabs の項を参照。
user_register
ユーザーのプロフィールを新規追加する際に実行する。
アクション関数引数: ユーザー ID
wp_ajax_アクション名
管理画面で、不明なタイプのAJAXアクションを行うために実行する。
wp_authenticate
ユーザーのログイン認証時に実行する。
アクション関数引数: ユーザー名とパスワードの配列
wp_login
ユーザーがログインした際に実行する。
wp_logout
ユーザーがログアウトした際に実行する。

ダッシュボード「現在の状況」ウィジェットアクション

right_now_content_table_end
「現在の状況」ダッシュボードウィジェットの下にテーブル行を追加する。
right_now_table_end
スパムコメント数が「現在の状況」ウィジェットのディスカッションカラムに表示された後に呼び出される。
right_now_discussion_table_end
スパムコメント数が表示された後、さらに「現在の状況」ウィジェットのディスカッションカラムで right_now_table_end アクションの後に呼び出される。
right_now_end
現在のバージョン情報が「現在の状況」ウィジェット上に表示された直後に呼び出される。
activity_box_end
「現在の状況」ウィジェットで呼び出される最後のアクション。

その他の高度なアクション

このセクションでは、表示する投稿を判断するクエリ、WordPressループ、プラグインの有効化など、WordPressの基本的なコードに関連する高度なアクションを紹介しています。

admin_menu
管理画面メニューの基本構造が配置された後に実行する。
admin_notices
管理画面メニューがページに出力された後に実行する。
blog_privacy_selector
デフォルトのブログプライバシー設定がページに出力された後に実行する。
check_admin_referer
デフォルトのcheck_admin_referrer 関数内で、セキュリティ用に nonce(セッションをユニークにするための暗号化に使われる乱数)を確認した後に実行する(この関数はプラグインによる上書きが可能。詳しくはプラグイン API を参照)。
check_ajax_referer
ユーザーのログイン IDとパスワードが Cookie によって認証された後、デフォルトの check_ajax_referer 関数内で実行する。これを使い、認証ができなかった場合のセキュリティを高めることができる。check_ajax_referer 関数は wp-admin/admin-ajax.php スクリプトに対して AJAX リクエストがあった場合に呼び出される(この関数はプラグインによる上書きが可能。詳しくはプラグイン API を参照)。
generate_rewrite_rules
URL リライトルールが生成された後に実行する。
アクション関数引数: WP_Rewrite クラスの変数リスト
注: リライトルールを修正するには、このアクションよりも rewrite_rules_array フィルターの方が使いやすい。
init
WordPressの読み込みが完了し、ヘッダーが送信される前に実行する。$_GET や $_POST トリガーを妨害するために使える。
loop_end
最後のWordPressループが処理された後に実行する。
loop_start
最初の WordPress ループが処理される前に実行する。
parse_query
クエリ解析の終盤で実行する。
アクション関数引数: $wp_queryオブジェクトの内容(リスト形式)
parse_request
クエリリクエストが wp 関数内で解析された後に実行する。
アクション関数引数: $wp オブジェクトへの参照を含む配列
pre_get_posts
get_posts関数クエリの前に実行する。
アクション関数引数: $wp_query オブジェクトの内容(リスト形式)
sanitize_comment_cookies
HTTPリクエストからCookieが読み取られた後に実行する。
send_headers
wp関数内でHTTPヘッダーが送信された後に実行する。
アクション関数引数: グローバル $wp オブジェクトへの参照がある配列
shutdown
ページの出力が完全に終了した際に実行する。
wp
wp 関数内でクエリが解析されて投稿が読み込まれ、テンプレートが実行されるまでの間に実行する。出力にテンプレートを必要しないデータにアクセスする場合に活用できる。
アクション関数引数: $wpオブジェクトへの参照を含む配列

これも読んでみよう

  • プラグインの作成 - プラグイン作成方法の説明
  • プラグイン API - フィルターやアクションの使い方に関する記事
  • プラグイン・リソース - プラグインに関するリソースの総合的な一覧
  • Skippy's list アクションとフィルターの一覧
  • WordPress Hooks, WordPress の全フックに関する要覧
  • WordPress Hooks Database WordPress フックすべてのデータベース。どのバージョンから存在するかや、フックが使われる部分のソースコードへのリンク。
  • Angsuman's listドキュメントとソースコード付きの WordPress アクションフックの総合的なリスト。WordPress 2.0 におけるアクションフックで明文化されているものと、されていないものの両方を含む。

最新英語版: WordPress Codex » Plugin API/Action Reference最新版との差分