WordPress:Plugin API/Action Reference
来自站长百科
这篇文章是WordPress2.1以及更高版本中的插件发展中可以使用的action hooks的列表(希望全面)。更多的信息:
- 学习更多关于filter和action hooks是什么的内容,请看看插件API。
- 学习更多编写插件的内容,请看看编写插件。
- 关于filter hooks的reference列表,请看看插件API/Filter Reference。
- 关于WordPress早期版本的filter 和 action hooks的信息,请看看插件API/Hooks 2.0.x
注:如果你想要添加或者阐明这个文件,请采用当前的文章格式。描述action运行的时间,如action function带有参数,请描述这个参数。
文章,网页,配属,和类别Actions[ ]
- add_attachment
- 当附属文件首次添加到数据库的时候,请运行这个。Action function 参数:attachment ID。
- add_category
- 与create_category相同。
- create_category
- 创建新的类别的时候,运行。Aciton function arguments: 类别 ID。
- delete_attachment
- 数据库中删除附加文件后,运行。Action function arguments: attachment ID。
- delete_category
- 类别从数据库中删除而且类别相关的链接/文章得到更新,移除类别的时候,运行。Action function arguments: 类别 ID。
- delete_post
- 文章或者网页将要删除的时候,运行。Action function arguments:文章或者网页ID。
- edit_attachment
- 附加文件编辑/更新到数据库中的时候,运行。Action function arguments: attachment ID。
- edit_category
- 类别升级/编辑的时候,包括文章或者友情链接添加/删除的时间或者类别更新的时间(致使类别数目更新),运行edit_category。Action function arguments: 类别 ID。
- edit_post
- 文章或者网页更新/编辑的时候,包括添加或者更新评论的时候(致使文章的评论数目更新),运行edit_post。Action function arguments: 文章或者网页 ID。
- private_to_published
- 文章从保密更改为发表状态的时候,运行private_to_published。Action function arguments: 文章 ID。
- publish_page
- 发表网页的时候,或者编辑网页,或者网页状态为"已发表"的时候,运行publish_page。Action function arguments:网页ID。(注:这个hook似乎在2.3版本以及更高的版本中已经不能够运行了。'transition_post_status'能够运行;更新:publish_page hook似乎从2.6版本开始,即可运行)
- publish_phone
- 在文章通过电子邮件添加后,运行publish_phone。Action function argument: 文章 ID。
- publish_post
- 文章发表,或者文章正在编辑并且状态是"已发表"时,运行publish_post。Action function arguments:文章ID。
- save_post
- 创建或者更新文章或者网页的时候,可以是导入的文章/网页编辑形式,xmlrpc,或者通过电子邮件发送的文章,运行save_post。Action function arguments:文章ID。
- wp_insert_post
- 与save_post相同,在稍后运行。
- xmlrpc_publish_post
- 文章通过XMLRPC发表,或者文章通过XMLRPC编辑,并且文章的状态是"已发表"时,运行xmlrpc_publish_post。Action function arguments:文章ID。
评论, Ping,和 Trackback Actions[ ]
- comment_closed
- 尝试显示评论内容形式的时候,文章标记为不允许评论,运行。Action function argument: 文章 ID。
- comment_id_not_found
- 试着显示评论或者评论内容形式的时候,没有找到文章ID时,运行。Action function argument: 文章 ID。
- comment_flood_trigger
- 发现垃圾评论,在调用wp_die阻止接受评论之前,运行。Action function arguments:先前评论时间,当前评论时间。
- comment_on_draft
- 当文章是草稿,试着显示评论内容形式或者评论的时候,运行。Action function argument: 文章ID。
- comment_post
- 评论保存到数据库时,运行。Action function arguments: 评论 ID, 批准状态 ("垃圾广告", 或者 0/1 表示不批准/批准)。
- edit_comment
- 评论在数据库中更新/编辑时候,运行。Action function arguments: 评论 ID。
- delete_comment
- 评论删除之前,运行。Action function arguments: 评论 ID。
- pingback_post
- 当ping添加到文章时候,运行。Action function argument: 评论 ID。Action function argument: comment ID.
- pre_ping
- ping完全地运行之前,运行。Action function arguments:运行一组文章链接,以及文章的"pung"设置。
- trackback_post
- 当trackback添加到文章的时候,运行。Action function argument:评论ID。
- wp_blacklist_check
- 运行,查看评论是否应该放到黑名单。Action function arguments:作者名,作者电子邮件,作者URL,评论文本,作者IP地址,作者的用户代理(浏览器)。你的函数能够执行wp_die拒绝评论,或者更改其中输入的一个函数,这样WordPress选项中会包含其中的一个黑名单关键词。
- wp_set_comment_status
- 评论状态更改的时候,运行。Action function arguments:评论ID,状态字符串只是新的状态("删除", "准许", "垃圾广告", "hold")。
友情链接 Actions[ ]
- add_link
- 当一个新的友情链接首次添加到数据库的时候,运行。Action function arguments:链接ID。
- delete_link
- 删除友情链接的时候,运行。Action function arguments:链接ID。
- edit_link
- 编辑友情链接的时候,运行。Action function arguments:链接ID。
Feed Actions[ ]
- atom_entry
- atom feed中的每个博客entry信息发表后(但是entry标签关闭之前),运行。
- atom_head
- 博客信息在atom feed,第一个entry之前,发表后,运行。
- atom_ns
- 为atom feed,在根XML元素内部运行(要添加名字空间)。
- commentrss2_item
- 评论feed中发表了单个评论的信息后(但是在关闭item标签之前),运行。Action function arguments:评论ID,文章ID。
- commentrss2_item
- do_feed_feed
- 产生feed时,运行,feed是feed的类型(rss2, atom, rdf, 等等)。
- rdf_header
- 博客信息在RDF feed中发表后,在第一个entry之前,运行。
- rdf_item
- RDF feed中的每篇博客文章信息都发表后(但是在关闭文章标签之前),运行。
- rdf_ns
- 在RDF feed中的根XML元素内运行(添加名字空间)。
- rss_head
- 博客信息在RSS feed中发表后,在第一篇文章之前,运行。
- rss_item
- RSS feed中的每篇博客文章信息发表后(但是在文章标签关闭之前),运行。
- rss2_head
- 博客信息在RSS 2 feed中发表后,在第一篇文章之前,运行。
- rss2_item
- 在RSS 2 feed中发表了每篇博客文章信息后(但是在文章标签关闭之前),运行。
- rss2_ns
- 在RSS 2 feed内的根XML元素中运行(添加名字空间)。
模板 Actions[ ]
- comment_form
- 在标准主题中运行,插入评论形式。Action function argument:文章ID。
- do_robots
- 选择模板文件的人,确认模板文件是robots.txt请求的时候,运行。
- do_robotstxt
- 在do_robots函数中运行,然后输出robots.txt文件不接受的列表。
- get_footer
- 模板调用get_footer函数的时候,运行,在载入footer.php模板文件之前。
- get_header
- 模板调用get_header函数时候,运行,在载入header.php模板文件之前。
- switch_theme
- 博客的主题更改的时候,运行。Action function argument:新的主题的名称。
- 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_head
- 当模板调用wp_head函数的时候,运行。这个hook一般放在网页模板的顶上方,在<head>和 </head>之间。这个hook没有任何参数。
- wp_meta
- sidebar.php模板文件调用wp_meta函数的时候,运行,使得插件将内容插入到边栏中。
- wp_print_scripts
- WordPress将注册的JavaScript脚本发表到网页标头之前,运行。
管理性的 Actions[ ]
- activate_(plugin file name)
- 插件首次激活的时候,运行。请看看使用插件创建表格中的例子。
- activity_box_end
- 在管理Dashboard界面上,activity box的结尾部分,运行。
- add_category_form_pre
- 在添加类别形式放到管理菜单的界面之前,运行。
- admin_head
- 在管理面板的HTML <head>部分,运行。
- admin_head-(page_hook)或者admin_head-(plugin_page)
- 在插件产生的网页的管理面板的HTML <head>部分运行。
- admin_footer
- 在标签内,管理面板的结尾,运行。
- admin_print_scripts
- 在HTML标头中运行,这样插件可以将JavaScript脚本添加到所有的管理页面。
- admin_print_scripts-(page_hook) 或者admin_print_scripts-(plugin_page)
- 运行,将JavaScript脚本放到插件产生的管理页面的HTML标头部分。使用任何将插件菜单内容添加到管理菜单的函数时,返回(page_hook):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
- 运行,在创建新的用户的时候,两次输入密码确认。Action function arguments:登录名,第一个密码,第二个密码。
- dbx_page_advanced
- 在管理菜单,网页编辑界面的"高级"部分的底部,运行。
- dbx_page_sidebar
- 在管理菜单,网页编辑界面的边栏的底部,运行。
- dbx_post_advanced
- 在管理菜单,网页编辑界面的"高级"部分的底部运行。
- dbx_post_sidebar
- 在管理菜单,文本编辑界面的边栏的底部,运行。
- deactivate_(插件文件名)
- 插件不运行的状态,运行。
- delete_user
- 删除用户的时候,运行。Action function arguments: 用户 ID。
- edit_category_form
- 在添加/编辑类别形式放到界面之后(但是在HTML形式标签结束之前)运行。
- edit_category_form_pre
- 在编辑类别形式放入管理菜单中的界面之前,运行。
- edit_form_advanced
- 在管理菜单中的文本编辑形式的"高级"部分之前,运行。
- edit_page_form
- 在管理菜单中的文本编辑形式的"高级"部分之前,运行。
- edit_user_profile
- 在管理菜单中的用户基本资料编辑界面的结尾部分运行。
- load-(page)
- 载入菜单页面的时候,运行。这个部分并不是直接添加的—关于怎样添加管理菜单的更多详细信息,请看看添加管理菜单。如果你不想直接使用,add_options_page的返回值和相似的函数,会给你action 名称的(page)部分。
- login_form
- 在登录形式之前,运行。
- login_head
- 在登录页面的HTML标头部分的结束之前,运行。
- lost_password
- 在"通过电子邮件得到你的密码"形式,发表在管理界面之前,运行。
- lostpassword_form
- 在使用形式,通过电子邮件获得用户密码,结束之后,运行,使用插件支持额外的栏。
- lostpassword_post
- 当用户需要电子邮件信息,获取密码的时候,运行,运行前,运行插件更改PHP $_POST变数。
- manage_link_custom_column
- 当友情链接管理界面有个不知名的栏的时候,运行。Action function arguments:栏名,链接ID。也看看WordPress:Plugin API/Filter Reference中的filter manage_link_columns,添加自定义栏。
- manage_posts_custom_column
- 管理文章管理界面有未知的栏名称的时候,运行。Action function arguments:栏名,文章ID。也看看WordPress:Plugin API/Filter Reference中的filter manage_posts_columns,添加了自定义栏。(关于例子和使用,请看看Scompt的指南。)
- manage_pages_custom_column
- 管理网页管理界面有未知的栏名称的时候,运行。Action function arguments:栏名,网页ID。也看看 Plugin API/Filter Reference中的filter manage_pages_columns,添加了自定义栏。
- password_reset
- 用户密码重新设置为随意的新密码之前,运行。
- personal_options_update
- 用户从管理界面更新个人选项的时候,运行。
- plugins_loaded
- 载入所有插件的时候,运行。
- profile_personal_options
- 在用户基本资料编辑界面的个人选项部分的结尾部分,运行。
- profile_update
- 更新用户基本资料的时候,运行。Action function argument: 用户 ID。
- register_form
- 新的用户注册形式结束之前,运行。
- register_post
- 处理新的用户注册请求之前,运行。
- restrict_manage_posts
- 文章放到管理菜单界面中编辑之前,运行。
- retrieve_password
- 返回用户密码时,运行,向用户发送电子邮件提醒。Action function argument:注册名。
- set_current_user
- 用户被默认的wp_set_current_user函数更改后,运行。注意wp_set_current_user也是个"pluggable"函数,意思是插件可以取代这个函数。请看看插件API。)
- show_user_profile
- 在用户基本资料编辑界面的结束部分附近,运行。
- simple_edit_form
- 在管理菜单的"简单"文章编辑形式的结尾,运行(默认情况下,只有bookmarklets使用简单形式—没有"高级"部分)。
- update_option_(option_name)
- WordPress选项已经由update_option函数更新后,运行。Action function arguments:旧选项参数值,新的选项参数值。你必须为你想要回应的选项添加一个action,例如更新了选项"foo"时,回应update_option_foo。
- upload_files_(tab)
- 运行,在管理界面上传文件上产生界面;"tab"是自定义action 标签的名称。使用wp_upload_tabs filter定义自定义的标签(请看看 Plugin API/Filter Reference)。
- user_register
- 首次创建用户基本资料的时候,运行。Action function argument: 用户 ID。
- wp_ajax_(action)
- 运行,在管理菜单中操作未知类型的AJAX。
- wp_authenticate
- 用于用户登录时,确认用户。Action function arguments:用户名和密码数组。
- wp_login
- 用户登录时,运行。
- wp_logout
- 用户退出时,运行。
高级 Actions[ ]
这个部分包含了与WordPress使用的查询相关的actions,取人要显示什么文章,WordPress Loop,激活插件,以及其它基本的WordPress代码。
- admin_menu
- 基本的管理面板菜单结构到位后,运行。
- admin_notices
- 管理菜单出现在界面上后,运行。
- blog_privacy_selector
- 默认博客保密选项出现在界面上后,运行。
- check_admin_referer
- nonce经过了安全检查后,在默认check_admin_referrer函数中,运行,允许插件迫使WordPress因为额外的安全考虑,而停止运行。注意check_admin_referrer也是"pluggable"函数,指的是插件可以代替这个函数;请看看插件API)。
- check_ajax_referer
- 在默认check_ajax_referer函数中运行(当AJAX请求进入了wp-admin/admin-ajax.php脚本,这个函数得到调用),cookies成功地确认了用户登录和密码后,允许插件迫使WordPress停止运行,以增加安全性。注check_ajax_referer也是个"pluggable"函数,意思是插件可以代替这个函数;请看看插件API)。
- generate_rewrite_rules
- 产生rewrite 规则之后,运行。Action function arguments: WP_Rewrite class variables作为列表。注意,使用rewrite_rules_array比使用这个action,更易于更改rewrite 规则。
- init
- WordPress结束了载入,但是在发送任何标头之前,运行。有利于截取$_GET or $_POST triggers。
- loop_end
- 运行WordPress loop最后一篇文章的时候,运行。
- loop_start
- 运行WordPress loop中第一篇文章之前,运行。
- parse_query
- 在查询解析结束后,运行。Action function arguments: $wp_query object的内容作为列表。
- parse_request
- 查询请求在主要的WordPress函数 wp中解析后,运行。Action function argument: an array with a reference to the global $wp object.
- pre_get_posts
- 在get_posts函数查询之前,运行。Action function argument: $wp_query object的内容,作为列表。
- sanitize_comment_cookies
- cookies已经从HTTP请求中读出之后,运行。
- send_headers
- 基本的HTTP标头发送到主要的WordPress函数wp内部后,运行。Action function argument: an array with a reference to the global $wp object.
- shutdown
- 输出网页后,运行。
- wp
- 查询已经解析并且文章载入后,运行,但是在运行模板之前,在主要的WordPress函数wp中。如果你需要使用文章数据,但是不能使用模板输出数据,这个有用。Action function argument: an array with a reference to the global $wp object.
深入阅读[ ]
- 编写插件 – 描述怎样编写插件
- 插件API – 关于怎样使用filters和actions的文章
- Plugin API/Filter Reference - 过滤hooks的相关列表
- 插件资源 – 插件相关资源的完整列表
- Skippy's list of actions and filters
- WordPress Hooks, a work in progress directory of all of WordPress’ hooks.
- WordPress Hooks 数据库, a database of all WordPress的所有的hooks的数据库,显示这些hooks是源自那个版本,并且链接到使用这些hooks的源代码。
- Angsuman's list, a comprehensive listing of WordPress action hooks 的完整列表,带有文件和源代码位置信息。包含了WordPress2.0中所有备有文件证明的和没有备有文件正面的action hooks。