站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Plugin API/Action Reference
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
这篇文章是WordPress2.1以及更高版本中的插件发展中可以使用的action hooks的列表(希望全面)。更多的信息: *学习更多关于filter和action hooks是什么的内容,请看看[[WordPress:Plugin API|插件API]]。 *学习更多编写插件的内容,请看看[[WordPress:Writing a Plugin|编写插件]]。 *关于filter hooks的reference列表,请看看[[WordPress:Plugin API/Filter Reference|插件API/Filter Reference]]。 *关于WordPress早期版本的filter 和 action hooks的信息,请看看[[WordPress:Plugin API/Hooks 2.0.x|插件API/Hooks 2.0.x]] 注:如果你想要添加或者阐明这个文件,请采用当前的文章格式。描述action运行的时间,如action function带有参数,请描述这个参数。 == 文章,网页,配属,和类别Actions == ;add_attachment:当附属文件首次添加到数据库的时候,请运行这个。Action function 参数:attachment ID。 ;add_category:与<tt>create_category</tt>相同。 ;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 :与<tt>save_post</tt>相同,在稍后运行。 ;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:发现垃圾评论,在调用<tt>wp_die</tt>阻止接受评论之前,运行。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地址,作者的用户代理(浏览器)。你的函数能够执行<tt>wp_die</tt>拒绝评论,或者更改其中输入的一个函数,这样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_<var>feed</var>:产生feed时,运行,<var>feed</var>是feed的类型(<tt>rss2, atom, rdf</tt>, 等等)。 ;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:在<tt>do_robots</tt>函数中运行,然后输出robots.txt文件不接受的列表。 ;get_footer:模板调用<tt>get_footer</tt>函数的时候,运行,在载入<tt>footer.php</tt>模板文件之前。 ;get_header:模板调用<tt>get_header</tt>函数时候,运行,在载入<tt>header.php</tt>模板文件之前。 ;switch_theme :博客的主题更改的时候,运行。Action function argument:新的主题的名称。 ;template_redirect:在决定使用模板文件,显示请求的网页之前,运行,这样插件可以废除模板文件选项。例子(教育学的, 没用):将所有请求重新导向当前主题目录的<tt>all.php</tt>模板文件。 <pre> function all_on_one () { include(TEMPLATEPATH . '/all.php'); exit; } add_action('template_redirect', 'all_on_one'); </pre> ;wp_footer :模板调用<tt>wp_footer</tt>函数的时候,运行,一般在博客页面的底部。 ;[[WordPress:Hook Reference/wp_head|wp_head]] :当模板调用<tt>wp_head</tt>函数的时候,运行。这个hook一般放在网页模板的顶上方,在<tt><head></tt>和 <tt></head></tt>之间。这个hook没有任何参数。 ;wp_meta : <tt>sidebar.php</tt>模板文件调用<tt>wp_meta</tt>函数的时候,运行,使得插件将内容插入到边栏中。 ;wp_print_scripts:WordPress将注册的JavaScript脚本发表到网页标头之前,运行。 == 管理性的 Actions == ;[[WordPress:Plugin_API/Action_Reference/activate_(plugin_file_name)|activate_(plugin file name)]]:插件首次激活的时候,运行。请看看[[WordPress:Creating Tables with Plugins|使用插件创建表格]]中的例子。 ;activity_box_end:在管理Dashboard界面上,activity box的结尾部分,运行。 ;add_category_form_pre:在添加类别形式放到管理菜单的界面之前,运行。 ;admin_head :在管理面板的HTML <tt><head></tt>部分,运行。 ;admin_head-(page_hook)或者admin_head-(plugin_page):在插件产生的网页的管理面板的HTML <tt><head></tt>部分运行。 ;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):载入菜单页面的时候,运行。这个部分并不是直接添加的—关于怎样添加管理菜单的更多详细信息,请看看[[WordPress:Adding Administration Menus|添加管理菜单]]。如果你不想直接使用,<tt>add_options_page</tt>的返回值和相似的函数,会给你action 名称的<tt>(page)</tt>部分。 ;login_form:在登录形式之前,运行。 ;login_head:在登录页面的HTML标头部分的结束之前,运行。 ;lost_password:在"通过电子邮件得到你的密码"形式,发表在管理界面之前,运行。 ;lostpassword_form:在使用形式,通过电子邮件获得用户密码,结束之后,运行,使用插件支持额外的栏。 ;lostpassword_post:当用户需要电子邮件信息,获取密码的时候,运行,运行前,运行插件更改PHP <tt>$_POST</tt>变数。 ;manage_link_custom_column:当友情链接管理界面有个不知名的栏的时候,运行。Action function arguments:栏名,链接ID。也看看[[WordPress:Plugin API/Filter Reference]]中的filter <tt>manage_link_columns</tt>,添加自定义栏。 ;manage_posts_custom_column:管理文章管理界面有未知的栏名称的时候,运行。Action function arguments:栏名,文章ID。也看看[[WordPress:Plugin API/Filter Reference]]中的filter <tt>manage_posts_columns</tt>,添加了自定义栏。(关于例子和使用,请看看[http://scompt.com/archives/2007/10/20/adding-custom-columns-to-the-wordpress-manage-posts-screen Scompt的指南]。) ;manage_pages_custom_column: 管理网页管理界面有未知的栏名称的时候,运行。Action function arguments:栏名,网页ID。也看看[[WordPress:Plugin API/Filter Reference| Plugin API/Filter Reference]]中的filter <tt>manage_pages_columns</tt>,添加了自定义栏。 ;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:用户被默认的<tt>wp_set_current_user</tt>函数更改后,运行。注意<tt>wp_set_current_user</tt>也是个"pluggable"函数,意思是插件可以取代这个函数。请看看[[WordPress:Plugin API|插件API]]。) ;show_user_profile:在用户基本资料编辑界面的结束部分附近,运行。 ;simple_edit_form:在管理菜单的"简单"文章编辑形式的结尾,运行(默认情况下,只有bookmarklets使用简单形式—没有"高级"部分)。 ;update_option_(option_name):WordPress选项已经由<tt>update_option</tt>函数更新后,运行。Action function arguments:旧选项参数值,新的选项参数值。你必须为你想要回应的选项添加一个action,例如更新了选项"foo"时,回应<tt>update_option_foo</tt>。 ;upload_files_(tab) :运行,在管理界面上传文件上产生界面;"tab"是自定义action 标签的名称。使用<tt>wp_upload_tabs</tt> filter定义自定义的标签(请看看[[WordPress:Plugin API/Filter Reference| 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经过了安全检查后,在默认<tt>check_admin_referrer</tt>函数中,运行,允许插件迫使WordPress因为额外的安全考虑,而停止运行。注意<tt>check_admin_referrer</tt>也是"pluggable"函数,指的是插件可以代替这个函数;请看看[[WordPress:Plugin API|插件API]])。 ;check_ajax_referer:在默认<tt>check_ajax_referer</tt>函数中运行(当AJAX请求进入了<tt>wp-admin/admin-ajax.php</tt>脚本,这个函数得到调用),cookies成功地确认了用户登录和密码后,允许插件迫使WordPress停止运行,以增加安全性。注<tt>check_ajax_referer</tt>也是个"pluggable"函数,意思是插件可以代替这个函数;请看看[[WordPress:Plugin API|插件API]])。 ;generate_rewrite_rules :产生rewrite 规则之后,运行。Action function arguments: <tt>WP_Rewrite</tt> class variables作为列表。注意,使用<tt>rewrite_rules_array</tt>比使用这个action,更易于更改rewrite 规则。 ;init:WordPress结束了载入,但是在发送任何标头之前,运行。有利于截取$_GET or $_POST triggers。 ;loop_end:运行WordPress loop最后一篇文章的时候,运行。 ;loop_start:运行WordPress loop中第一篇文章之前,运行。 ;parse_query:在查询解析结束后,运行。Action function arguments: <tt>$wp_query</tt> object的内容作为列表。 ;parse_request:查询请求在主要的WordPress函数 <tt>wp</tt>中解析后,运行。Action function argument: an array with a reference to the global $wp object. ;pre_get_posts:在<tt>get_posts</tt>函数查询之前,运行。Action function argument: <tt>$wp_query</tt> object的内容,作为列表。 ;sanitize_comment_cookies:cookies已经从HTTP请求中读出之后,运行。 ;send_headers:基本的HTTP标头发送到主要的WordPress函数<tt>wp</tt>内部后,运行。Action function argument: an array with a reference to the global $wp object. ;shutdown:输出网页后,运行。 ;wp :查询已经解析并且文章载入后,运行,但是在运行模板之前,在主要的WordPress函数<tt>wp</tt>中。如果你需要使用文章数据,但是不能使用模板输出数据,这个有用。Action function argument: an array with a reference to the global $wp object. == 深入阅读== * [[WordPress:Writing a Plugin|编写插件]] – 描述怎样编写插件 * [[WordPress:Plugin API|插件API]] – 关于怎样使用filters和actions的文章 * [[WordPress:Plugin API/Filter Reference| Plugin API/Filter Reference]] - 过滤hooks的相关列表 * [[WordPress:Plugin Resources|插件资源]] – 插件相关资源的完整列表 * [http://codex.wordpress.org/User:Skippy Skippy's list] of actions and filters * [http://wphooks.flatearth.org WordPress Hooks], a work in progress directory of all of WordPress’ hooks. * [http://adambrown.info/p/wp_hooks WordPress Hooks 数据库], a database of all WordPress的所有的hooks的数据库,显示这些hooks是源自那个版本,并且链接到使用这些hooks的源代码。 * [http://blog.taragana.com/index.php/archive/wordpress-2x-hooks-for-action-comprehensive-list-for-plugin-and-theme-developers/ Angsuman's list], a comprehensive listing of WordPress action hooks 的完整列表,带有文件和源代码位置信息。包含了WordPress2.0中所有备有文件证明的和没有备有文件正面的action hooks。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)