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

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

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

提供: WordPress Codex 日本語版
< プラグイン API
2010年8月14日 (土) 01:27時点におけるBono (トーク | 投稿記録)による版 (編集履歴に基づき最新版との差分リンクを挿入、pt-br版への言語間リンク追加。要更新)

移動先: 案内検索

このページ「プラグイン API/アクションフック一覧」は 情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。最新に更新してくださる協力者を求めています

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

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

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

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

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

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
アクション関数引数: 投稿者名、投稿者メールアドレス、投稿者URL、コメント本文、投稿者のIPアドレス、投稿者のユーザーエージェント情報
コメントをブラックリストに分類するかどうかチェックするために実行する。コメントを拒否するには、関数内でwp_dieを実行するか、入力引数に設定したブラックリストキーワードが含まれるように変更することができる。
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タグを閉じる前に実行する。
atom_head(Atomフィード)
rdf_header(RDFフィード)
rss_head(RSSフィード)
各フィードでブログの情報が表示された直後、一つ目の記事の直前で実行する。
atom_ns(Atomフィード)
rdf_ns(RDFフィード)
rss2_ns(RSS2フィード)
AtomフィードのXML要素ルート内で名前空間を追加する際に実行する。
commentrss2_item
アクション関数引数: コメントID、投稿記事ID
コメントフィードにコメント情報が表示された直後、<item>タグを閉じる前に実行する。
do_feed_フィード名
アクション関数引数: フィードの種類(コメントフィードならtrue、投稿記事フィードならfalse)
RSS2、Atom、RDFなどのフィードが生成される直前に実行する。フィード名には rss2、atom などフィードの種類を入れる。

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

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_プラグインファイル名
プラグインを初めて有効化する際に実行する。
activity_box_end
管理画面ダッシュボードページで、「ブログの最新状況/現在の状況」ボックス部分の最後に実行する。
add_category_form_pre
管理画面で、カテゴリー追加フォームがページに表示される前に実行する。
admin_head
管理画面各ページの<head>要素内で実行する。
admin_head-ページフック名
admin_head-プラグイン管理ページ名
プラグインが生成した管理画面ページの <head> 要素内で実行する。
admin_footer
管理画面各ページの<body>要素の終盤で実行する。
admin_print_scripts
管理画面各ページの<head>要素にJavaScriptを追加するために実行する。
admin_print_scripts-ページフック名
admin_print_scripts-プラグイン管理ページ名
プラグインが生成した管理画面ページの<head>要素にJavaScriptを追加するために実行する。
check_passwords
アクション関数引数: ログイン名配列、1度目に入力されたパスワード、2度目に入力されたパスワード
新規ユーザー登録の際、パスワードの二重入力がマッチするか確認するために実行する。
dbx_page_advanced(ページ)
dbx_post_advanced(投稿記事)
各編集管理画面の、詳細オプション部分の最後に実行する。
dbx_page_sidebar(ページ)
dbx_post_sidebar(投稿記事)
各編集管理画面の、サイドバー部分の最後に実行する。
deactivate_(プラグインファイル名)
プラグインが無効化された際に実行する。
delete_user
アクション関数引数: ユーザーID
ユーザーが削除された際に実行する。
edit_category_form
カテゴリー追加・編集フォームが管理画面に表示された後、<form>要素の閉じタグの前に実行する。
edit_category_form_pre
カテゴリー編集フォームが管理画面に表示される前に実行する。
edit_form_advanced(投稿記事)
edit_page_form(ページ)
編集画面で、詳細設定のセクションが読み込まれる直前に実行する。
edit_user_profile
管理画面のユーザープロフィール編集ページ終盤で実行する。
load-ページ名
管理メニューページが読み込まれる際に実行する。このアクションは通常、直接追加される。管理画面のカスタマイズ (en) を参照。
login_form
ログインフォームが読み込まれる終盤で実行する。
login_head
ログインページの<head>要素終盤で実行する。
lost_password
ログイン画面のパスワード紛失フォームが表示される直前に実行する。
lostpassword_form
パスワード紛失フォームの終盤で実行され、プラグインがフォームにフィールドを追加できるようにする。
lostpassword_post
ユーザーがパスワードの再発行をリクエストした際に実行する。これにより、処理の前にPHPの$_POST変数を修正できるようになる。
manage_link_custom_column
アクション関数引数: カラム名、リンクID
リンク管理画面で不明なカラム名が存在する際に実行する。詳しくはプラグイン API/フィルターフック一覧、manage_posts_columnsの項を参照。
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
ユーザーがログアウトした際に実行する。

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

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

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

これも読んでみよう

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

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