本文包含 WordPress 2.1 及以上版本插件开发中可用的筛选钩子(filter hooks)列表(虽详尽但非 100% 完整)。更多信息:

注意:如果您想为此文档添加内容或进行澄清,请遵循现有条目的风格。描述该筛选器应用于什么数据,如果筛选函数接受额外参数,请描述参数列表。

文章、页面和附件(上传)筛选器

另见下方的 #分类和术语筛选器、#作者和用户筛选器、#链接筛选器、#日期和时间筛选器 以及 #管理筛选器。

数据库读取

本节中的筛选器应用于从数据库读取的信息,在页面显示或编辑屏幕显示之前。

attachment_fields_to_edit:应用于编辑附件时显示的表单字段。在 get_attachment_fields_to_edit 函数中调用。筛选函数参数:表单字段数组、帖子对象。

attachment_icon:应用于 get_attachment_icon 函数中附件的图标。筛选函数参数:作为 HTML IMG 标签的图标文件、附件 ID。

attachment_innerHTML:应用于当没有图标时使用附件标题的情况,在 get_attachment_innerHTML 函数中。筛选函数参数:内部 HTML(默认为标题)、附件 ID。

author_edit_pre:应用于显示编辑前的帖子作者。

body_class:应用于 HTML 的类名

content_edit_pre:应用于显示编辑前的帖子内容。

content_filtered_edit_pre:应用于显示编辑前经过筛选的帖子内容。

excerpt_edit_pre:应用于显示编辑前的帖子摘要。

date_edit_pre:应用于显示编辑前的帖子日期。

date_gmt_edit_pre:应用于显示编辑前的帖子 GMT 日期。

get_attached_file:应用于由 get_attached_file 函数检索到的附件文件信息。筛选函数参数:文件信息、附件 ID。

get_enclosed:应用于由 get_enclosed 函数获取的帖子附属列表。

get_pages:应用于 get_pages 函数 返回的页面列表。筛选函数参数:页面列表(每项包含一个页面数据数组)、get_pages 函数参数列表(指示请求了哪些页面)。

get_pung:应用于由 get_pung 函数获取的帖子已发送 ping 的 URL 列表。

get_the_archive_title:应用于 get_the_archive_title 函数中的归档标题。

get_the_excerpt:应用于 get_the_excerpt 函数中的帖子摘要。

get_the_guid:应用于 get_the_guid 函数中的帖子 GUID。

get_to_ping:应用于由 get_to_ping 函数获取的待发送 ping 的 URL 列表。

icon_dir:应用于多个函数中的模板图片目录。基本上允许插件指定 MIME 类型的图标应来自不同位置。

icon_dir_uri:应用于多个函数中的模板图片目录 URI。基本上允许插件指定 MIME 类型的图标应来自不同位置。

image_size_names_choose:应用于媒体库中可选的图片尺寸列表。常用于使 自定义图片尺寸 可被选择。

mime_type_edit_pre:应用于显示编辑前的帖子 MIME 类型。

modified_edit_pre:应用于显示编辑前的帖子修改日期。

modified_gmt_edit_pre:应用于显示编辑前的帖子修改 GMT 日期。

no_texturize_shortcodes:应用于注册的短代码。可用于使短代码免于自动文本美化函数处理。

parent_edit_pre:应用于显示编辑前的帖子父级 ID。

password_edit_pre:应用于显示编辑前的帖子密码。

post_class:应用于帖子最外层 HTML 元素的类名。在 get_post_class 函数中调用。筛选函数参数:类名字符串数组、添加到第一个数组的额外类名字符串数组,以及帖子 ID。

pre_kses:应用于经 KSES 处理/清理之前的各种内容。此钩子允许开发者自定义应允许在内容中包含还是应移除的脚本/标签类型。

prepend_attachment:应用于由 prepend_attachment 函数前置的 HTML。

protected_title_format:用于更改或操作当帖子受密码保护时的帖子标题。

private_title_format:用于更改或操作当其状态为私密时的帖子标题。
sanitize_title:应用于由 sanitize_title 函数处理的帖子标题,在剥离 HTML 标签之后。

single_post_title:应用于由 wp_title 和 single_post_title 函数创建博客页面标题时使用的帖子标题。

status_edit_pre:应用于显示编辑前的帖子状态。

the_content:应用于从数据库检索的帖子内容,在屏幕打印之前(也用于其他一些操作,如 Trackback)。

the_content_rss:应用于包含在 RSS 订阅源之前的帖子内容。(已弃用)

the_content_feed:应用于包含在 RSS 订阅源之前的帖子内容。

the_editor_content:应用于放入富文本编辑器窗口之前的帖子内容。

the_excerpt:应用于从数据库检索到的文章摘要(若没有摘要则使用文章内容),在屏幕显示之前(也用于某些其他操作,如 Trackback)。

the_excerpt_rss:应用于包含在 RSS 订阅源之前的文章摘要。

the_password_form:应用于受保护文章的密码表单。

the_tags:应用于从数据库检索到的标签,在屏幕显示之前。

the_title:应用于从数据库检索到的文章标题,在屏幕显示之前(也用于某些其他操作,如 Trackback)。

the_title_rss:应用于包含在 RSS 订阅源之前的文章标题(首先经过 the_title 过滤)。

title_edit_pre:应用于编辑前显示的文章标题。

type_edit_pre:应用于编辑前显示的文章类型。

wp_dropdown_pages:应用于由 wp_dropdown_pages 函数生成的 WordPress 页面的 HTML 下拉列表。

wp_list_pages:应用于由 wp_list_pages 函数生成的 HTML 列表。

wp_list_pages_excludes:应用于 wp_list_pages 函数中被排除的页面列表(页面 ID 数组)。

wp_get_attachment_metadata:应用于由 wp_get_attachment_metadata 函数检索到的附件元数据。过滤器函数参数:元数据、附件 ID。

wp_get_attachment_thumb_file:应用于由 wp_get_attachment_thumb_file 函数检索到的附件缩略图文件。过滤器函数参数:缩略图文件、附件 ID。

wp_get_attachment_thumb_url:应用于由 wp_get_attachment_thumb_URL 函数检索到的附件缩略图 URL。过滤器函数参数:缩略图 URL、附件 ID。

wp_get_attachment_url:应用于由 wp_get_attachment_url 函数检索到的附件 URL。过滤器函数参数:URL、附件 ID。

wp_mime_type_icon:应用于由 wp_mime_type_icon 函数计算的附件 MIME 类型图标。过滤器函数参数:计算出的图标 URI、MIME 类型、文章 ID。

wp_title:应用于在 wp_title 函数中发送给浏览器的博客页面标题之前。

数据库写入

本节中的过滤器应用于保存至
数据库之前的信息。

add_ping:当添加 Ping 时,应用于文章 Ping 字段的新值,在将新信息保存到数据库之前。

attachment_fields_to_save:应用于保存到数据库之前与附件关联的字段。在 media_upload_form_handler 函数中调用。过滤器函数参数:文章属性数组、包含从表单提交的更改的附件字段数组。

attachment_max_dims:应用于减小图像尺寸之前的最大图像尺寸。过滤器函数输入(和返回值)要么是 false(如果未指定最大尺寸),要么是一个包含两项的列表(宽度,高度)。

category_save_pre:应用于保存到数据库之前的用逗号分隔的文章分类列表(也用于附件)。

comment_status_pre:应用于保存到数据库之前的文章评论状态(也用于附件)。

content_filtered_save_pre:应用于保存到数据库之前的已过滤文章内容(也用于附件)。

content_save_pre:应用于保存到数据库之前的文章内容(也用于附件)。

excerpt_save_pre:应用于保存到数据库之前的文章摘要(也用于附件)。

image_save_pre(已弃用):请使用 image_editor_save_pre 代替。

jpeg_quality(已弃用):请使用 wp_editor_set_quality 或 WP_Image_Editor::set_quality() 代替。

name_save_pre(已弃用):应用于保存到数据库之前的文章名称(也用于附件)。

phone_content:应用于通过电子邮件提交的文章内容,在保存之前。

ping_status_pre:应用于保存到数据库之前的文章 Ping 状态(也用于附件)。

post_mime_type_pre:应用于保存到数据库之前的附件 MIME 类型。

status_save_pre:应用于保存到数据库之前的文章状态。

thumbnail_filename:应用于上传图像时的缩略图文件名。

title_save_pre:应用于保存到数据库之前的文章标题(也用于附件)。

update_attached_file:应用于在 update_attached_file 函数中将附件信息保存到文章元数据之前的附件信息。过滤器函数参数:附件信息、附件 ID。

wp_create_thumbnail(已弃用)

wp_delete_file:应用于删除前的附件文件名。

wp_generate_attachment_metadata:应用于保存到数据库之前的附件元数据数组。

wp_save_image_file(已弃用):请使用 wp_save_image_editor_file 代替。

wp_thumbnail_creation_size_limit:应用于上传图像时的缩略图大小。过滤器函数参数:最大文件大小、附件 ID、附件文件名。

wp_thumbnail_max_side_length:应用于上传图像时的缩略图大小。过滤器函数参数:图像边长最大值、附件 ID、附件文件名。

wp_update_attachment_metadata:应用于在 wp_update_attachment_metadata 函数中保存之前的附件元数据。过滤器函数参数:元数据、附件 ID。

评论、Trackback 和 Ping 过滤器

另见下方的 #作者和用户过滤器、#链接过滤器、#日期和时间过滤器 以及 #管理过滤器。

数据库读取

本节中的过滤器应用于从数据库读取的信息,在显示到页面或编辑屏幕之前进行处理。

comment_excerpt:由 comment_excerpt 函数应用于评论摘要。另见 get_comment_excerpt。

comment_flood_filter:当有人似乎向您的博客大量发送评论时应用。过滤器函数参数:已被拦截(true/false,表示之前的过滤插件是否已拦截;设置为 true 并返回 true 以在插件中拦截此评论)、上一条评论的时间、当前评论的时间。

comment_post_redirect:应用于某人添加评论后的重定向位置。过滤器函数参数:重定向位置、评论信息数组。

comment_text:由 comment_text 函数在屏幕上显示前应用于评论文本,并在管理菜单中使用。

comment_text_rss:在将评论文本包含到 RSS 源之前应用于评论文本。

comments_array:在 comments_template 函数中应用于文章的评论数组。过滤器函数参数:评论信息结构数组、文章 ID。

comments_number:由 comments_number 函数生成的格式化文本(用于显示评论数量)所应用的过滤器。另见 get_comments_number。

get_comment_excerpt:由 get_comment_excerpt 函数应用于从数据库读取的评论摘要(该函数也会被 comment_excerpt 调用)。另见 comment_excerpt。

get_comment_ID:由 get_comment_ID 函数应用于从全局变量 $comments 读取的评论 ID。

get_comment_text:在 get_comment_text 函数中应用于当前评论的评论文本(该函数也会被 comment_text 函数调用)。

get_comment_type:由 get_comment_type 函数应用于评论类型(“comment"、“trackback"或"pingback")(该函数也会被 comment_type 调用)。

get_comments_number:由 get_comments_number 函数应用于从全局变量 $post 读取的评论计数(该函数也会被 comments_number 函数调用;另见 comments_number 过滤器)。

post_comments_feed_link:由 comments_rss 函数应用于为评论源生成的 Feed URL。

数据库写入

本节中的过滤器应用于保存到数据库之前的信息。

comment_save_pre:在更新/编辑评论数据之前应用于评论数据。函数参数:评论数据数组,包含索引 "comment_post_ID"、"comment_author"、"comment_author_email"、"comment_author_url"、"comment_content"、"comment_type" 和"user_ID"。

pre_comment_approved:应用于当前评论的批准状态(true/false),允许插件覆盖。返回 true/false 并将第一个参数设置为 true/false 以批准/拒绝评论,并使用全局变量如 $comment_ID 访问关于此评论的信息。

pre_comment_content:在将评论内容保存到数据库之前应用于评论内容。

preprocess_comment:在数据库中保存新评论时,应用于任何其他处理之前的评论数据。函数参数:评论数据数组,包含索引 "comment_post_ID"、"comment_author"、"comment_author_email"、"comment_author_url"、"comment_content"、"comment_type" 和"user_ID"。

wp_insert_post_data:在 wp_insert_post() 中将文章更新或插入到数据库之前,应用于修改和未修改的文章数据。函数参数:修改和扩展的文章数组以及清理后的文章数组。

分类和术语过滤器

另见下方的 #Administrative Filters

数据库读取

本节中的过滤器应用于从数据库读取的信息,在显示到页面或编辑屏幕之前进行处理。

category_description:由 category_description 和 wp_list_categories 函数应用于分类的"description"字段。过滤器函数参数:描述内容,当从 category_description 调用时为分类 ID;描述内容和分类信息数组(该特定分类的所有字段来自分类表)当从 wp_list_categories 调用时。

category_feed_link:由 get_category_feed_link 函数应用于为分类源生成的 Feed URL。

category_link:由 get_category_link 函数应用于为分类创建的 URL。过滤器函数参数:链接 URL、分类 ID。

get_ancestors:应用于 get_ancestors 函数返回的祖先 ID 列表(该函数随后被许多其他函数使用)。过滤器函数参数:祖先 ID 数组、给定的对象 ID、给定的对象类型。

get_categories:应用于 get_categories 函数生成的分类列表(该函数随后被许多其他函数使用)。过滤器函数参数:分类列表、get_categories 选项列表。

get_category:应用于 get_category 函数查找的分类信息,基本上是针对特定分类 ID 的 WordPress 分类表中所有字段的数组。

list_cats:用于两个不同的目的:

  1. wp_dropdown_categories 函数使用它来过滤 show_option_all 和
    show_option_none 参数(用于在分类下拉列表中放置“全部”和“无”选项)。没有额外的过滤器函数参数。
  2. wp_list_categories 函数将其应用于分类名称。过滤器函数参数:分类名称、分类信息列表(该特定分类的所有字段来自分类表)。

list_cats_exclusions:由 get_categories 函数应用于给出要排除的分类的 SQL WHERE 语句。通常,插件会向此列表添加内容,以便从分类列表中排除某些分类或分类组。过滤器函数参数:被排除的分类 WHERE 子句、get_categories 选项列表。

single_cat_title:当使用 wp_title 和 single_cat_title 函数创建博客页面标题时,应用于分类名称。

the_category:应用于由 get_the_category_list 函数创建的分类列表(带链接的 HTML 列表)。过滤器函数参数:生成的 HTML 文本、使用的列表分隔符(空字符串表示默认为 LI 列表)、parents 参数传递给 get_the_category_list。

the_category_rss:在包含到 RSS 源之前,由 get_the_category_rss 函数应用于文章的分类列表(一系列分类 XML 元素)。过滤器函数参数为列表文本和类型(通常为"rdf"或"rss")。

wp_dropdown_cats:应用于由 wp_dropdown_categories 函数生成的下拉分类列表(包含 HTML option 元素的文本字符串)。

wp_list_categories:应用于由 wp_list_categories 函数生成的分类列表(HTML 列表)。

wp_get_object_terms:应用于由 wp_get_object_terms 函数生成的术语列表(对象数组),该函数被多个与分类/术语相关的函数调用,例如 get_the_terms 和 get_the_category。

数据库写入

本节中的过滤器应用于保存到数据库之前的信息。

pre_category_description:应用于保存到数据库前的分类描述。

wp_update_term_parent:在应用更新术语父级之前过滤术语父级,挂钩到此过滤器以查看是否会导致层级循环。

edit_terms:(实际上是一个动作,但通常像过滤器一样使用)在将分类法/分类更改保存到数据库之前进行挂钩。

pre_category_name:应用于保存到数据库前的分类名称。

pre_category_nicename:应用于保存到数据库前的分类友好名称。

链接过滤器

注意:本节包含与文章、页面、存档、源等链接相关的过滤器。有关博客圈链接,请参阅下面的 #Blogroll 过滤器 部分。

attachment_link:由 get_attachment_link 函数应用于计算出的附件永久链接。过滤器函数参数:链接 URL、附件 ID。

author_feed_link:应用于由 get_author_rss_link 函数生成的作者源 URL。

author_link:应用于由 get_author_posts_url 函数创建的作者存档永久链接。过滤器函数参数:链接 URL、作者 ID、作者的“友好”名称。注意 get_author_posts_url 在函数 wp_list_authors 和 the_author_posts_link 内部被调用。

comment_reply_link:应用于由 get_comment_reply_link 函数生成的回复特定评论的链接,该函数在 comments_template 函数内部被调用。过滤器函数参数:链接(字符串)、自定义选项(数组)、当前评论(对象)、当前文章(对象)。

day_link:由 get_day_link 函数应用于每日存档的链接 URL。过滤器函数参数:URL、年份、月份号、日期号。

feed_link:由 get_feed_link 函数应用于源的链接 URL。过滤器函数参数:URL、源类型(例如"rss2"、"atom"等)。

get_comment_author_link:应用于 get_comment_author_link 函数中生成的作者链接的 HTML(该函数也被 comment_author_link 调用)。动作函数参数:用户名。

get_comment_author_url_link:应用于 get_comment_author_url_link 函数中生成的作者链接的 HTML(该函数也被 comment_author_link 调用)。

month_link:由 get_month_link 函数应用于每月存档的链接 URL。过滤器函数参数:URL、年份、月份号。

page_link:由 get_page_link 函数应用于计算出的页面 URL。过滤器函数参数:URL、页面 ID。注意还有一个内部过滤器 _get_page_link,可用于过滤未指定为博客首页的页面的 URL(参数相同)。注意这只适用于 WordPress 页面,不适用于文章、自定义文章类型或附件。

post_link:由 get_permalink 函数应用于计算出的文章永久链接,该函数也被 the_permalink、post_permalink、previous_post_link 和 next_post_link 函数调用。过滤器函数参数:永久链接 URL、文章数据列表。注意这只适用于 WordPress 默认文章,不适用于自定义文章类型(也不适用于页面或附件)。

post_type_link:由 get_post_permalink 函数应用于计算出的自定义文章类型永久链接。

the_permalink:由 the_permalink 函数在打印前应用于文章的永久链接 URL。

year_link:由 get_year_link 函数应用于每年存档的链接 URL。过滤器函数参数:URL、年份。

tag_link:由 get_tag_link 函数应用于为标签创建的 URL。过滤器函数参数:链接 URL、标签 ID。

term_link:由 get_term_link 函数应用于为术语创建的 URL。过滤器函数参数:术语链接 URL、术语对象和分类法缩写。

日期和时间过滤器

另见上面的 #链接过滤器。

get_comment_date:应用于由 get_comment_date 函数生成的格式化评论日期(该函数也被 comment_date 调用)。

get_comment_time:应用于 get_comment_time 函数中的格式化评论时间(该函数也被 comment_time 调用)。

get_the_modified_date:应用于由 get_the_modified_date 函数生成的格式化文章修改日期(该函数也被 the_modified_date 函数调用)。

get_the_modified_time:应用于由 get_the_modified_time 和 get_post_modified_time 函数生成的格式化文章修改时间(它们也被 the_modified_time 函数调用)。

get_the_time:应用于由 get_the_time 和 get_post_time 函数生成的格式化帖子时间(the_time 函数也会调用这两个函数)。

the_date:应用于由 the_date 函数生成的格式化帖子日期。

the_modified_date:应用于由 the_modified_date 函数生成的格式化帖子修改日期。

the_modified_time:应用于由 the_modified_time 函数生成的格式化帖子修改时间。

the_time:应用于由 the_time 函数生成的格式化帖子时间。

the_weekday:应用于由 the_weekday 函数生成的帖子日期星期名称。

the_weekday_date:应用于由 the_weekday_date 函数生成的帖子日期星期名称。函数参数为星期名称、前置文本和后置文本(如果当前帖子的星期与上一篇帖子的星期不同,则将前置文本和后置文本添加到星期名称中)。

作者和用户过滤器

另见 #链接过滤器 和 #管理过滤器 章节。

login_body_class:允许过滤在 login_header() 中应用到登录屏幕的 body class。

login_redirect:应用于用户登录过程中的 redirect_to post/get 变量。

user_contactmethods:应用于用户个人资料页面上的联系方式字段。(旧页面在此:contactmethods)

update_(meta_type)_metadata:在更新(用户)元数据之前应用。

数据库读取

本节中的过滤器应用于从数据库读取的信息,在显示到页面或编辑屏幕之前应用。

author_email:应用于由 comment_author_email 函数从数据库检索的评论作者电子邮件地址。另见 get_comment_author_email。

comment_author:应用于由 comment_author 函数从数据库检索的评论作者姓名。另见 get_comment_author。
comment_author_rss:应用于包含在 RSS 馈送之前的评论作者姓名。

comment_email:应用于由 comment_author_email_link 函数从数据库检索的评论作者电子邮件地址。

comment_url:应用于由 comment_author_url 函数从数据库检索的评论作者 URL(另见 get_comment_author_url)。

get_comment_author:应用于由 get_comment_author 从数据库检索的评论作者姓名,该函数也会被 comment_author 调用。另见 comment_author。

get_comment_author_email:应用于由 get_comment_author_email 从数据库检索的评论作者电子邮件地址,该函数也会被 comment_author_email 调用。另见 author_email。

get_comment_author_IP:应用于由 get_comment_author_IP 函数从数据库检索的评论作者 IP 地址,该函数也会被 comment_author_IP 调用。

get_comment_author_url:应用于由 get_comment_author_url 函数从数据库检索的评论作者 URL,该函数也会被 comment_author_url 调用。另见 comment_url。

login_errors:应用于登录屏幕上打印的登录错误消息。

login_headertitle:应用于登录屏幕上打印的登录头部 URL 标题(默认为“Powered by WordPress”)。

login_headerurl:应用于登录屏幕上打印的登录头部 URL(默认指向 wordpress.org)。

login_message:应用于登录屏幕上打印的登录消息。

role_has_cap:应用于 WP_Role->has_cap 函数中的角色权限列表。过滤器函数参数为待过滤的权限列表、被询问的权限以及角色的名称。

sanitize_user:由 sanitize_user 函数应用于用户名。过滤器函数参数:用户名(经过一些清理后)、原始用户名、严格模式(true 或 false,用于决定是否使用严格 ASCII)。

the_author:由 get_the_author 函数应用于帖子作者的显示名称,该函数也会被 the_author 函数调用。

the_author_email:由 the_author_email 函数应用于帖子作者的电子邮件地址。

user_search_columns:应用于 WP_User_Query 内部 WHERE 子句中要包含的 wp_users 表的列列表。

数据库写入

本节中的过滤器应用于保存到数据库之前的信息。

pre_comment_author_email:应用于保存评论到数据库之前的评论作者电子邮件地址。

pre_comment_author_name:应用于保存评论到数据库之前的评论作者用户名。

pre_comment_author_url:应用于保存评论到数据库之前的评论作者 URL。

pre_comment_user_agent:应用于保存评论到数据库之前的评论作者用户代理。

pre_comment_user_ip:应用于保存评论到数据库之前的评论作者 IP 地址。

pre_user_id:应用于保存评论到数据库之前的评论作者用户 ID。

pre_user_description:应用于保存到数据库之前的用户描述。

pre_user_display_name:应用于保存到数据库之前的用户显示名称。

pre_user_email:应用于保存到数据库之前的用户电子邮件地址。

pre_user_first_name:应用于保存到数据库之前的用户名字。

pre_user_last_name:应用于保存到数据库之前的用户姓氏。

pre_user_login:应用于保存到数据库之前的用户登录名。

pre_user_nicename:应用于保存到数据库之前的用户的“友好名称”。

pre_user_nickname:在将用户昵称保存至数据库之前应用。

pre_user_url:在将用户 URL 保存至数据库之前应用。

registration_errors:在为用户注册新账户时生成注册错误列表后应用。

user_registration_email:在尝试将某人注册为新用户之前,应用于从注册页面读取的用户电子邮件地址。

validate_username:应用于新用户名的验证结果。过滤器函数参数:valid(true/false)、正在验证的用户名。

博客链接过滤器

注意:本节包含与博客链接相关的过滤器。有关文章、页面、分类等链接的过滤器,请参阅上方的#链接过滤器部分。

get_bookmarks:由 get_bookmarks 函数应用于链接/博客链接数据库查询结果。过滤器函数参数:数据库查询结果列表、get_bookmarks 参数列表。

link_category:由 get_links_list 和 wp_list_bookmarks 函数应用于链接分类(自 WordPress 2.2 起)。

link_description:由 get_links 和 wp_list_bookmarks 函数应用于链接描述(自 WordPress 2.2 起)。

link_rating:由 get_linkrating 函数应用于链接评分数值。

link_title:由 get_links 和 wp_list_bookmarks 函数应用于链接标题(自 WordPress 2.2 起)。

pre_link_description:在将链接描述保存至数据库之前应用。

pre_link_image:在将链接图片保存至数据库之前应用。

pre_link_name:在将链接名称保存至数据库之前应用。

pre_link_notes:在将链接备注保存至数据库之前应用。

pre_link_rel:在将链接关系信息保存至数据库之前应用。

pre_link_rss:在将链接 RSS URL 保存至数据库之前应用。

pre_link_target:在将链接目标信息保存至数据库之前应用。

pre_link_url:在将链接 URL 保存至数据库之前应用。

博客信息与选项过滤器

all_options:由 get_alloptions 函数从数据库检索选项列表后应用。

all_plugins:应用于为在插件列表表中显示而检索的插件列表。

bloginfo:由 bloginfo 函数从数据库检索博客选项信息后应用,首先通过 get_bloginfo 函数检索该信息。第二个参数 $show 给出请求的博客信息选项名称。注意:bloginfo("url")、bloginfo("directory") 和 bloginfo("home") 不使用此过滤函数(参见 bloginfo_url)。

bloginfo_rss:由函数 get_bloginfo_rss 应用于博客选项信息(该函数也由 bloginfo_rss 调用),首先通过 get_bloginfo 函数检索信息,移除 HTML 标签,并适当转换字符。第二个参数 $show 给出请求的博客信息选项名称。

bloginfo_url:在返回信息之前应用于 bloginfo("url")、bloginfo("directory") 和 bloginfo("home") 的输出。

loginout:由 wp_loginout 函数生成的用于登录和登出的 HTML 链接(通常放置在侧边栏)后应用。

lostpassword_url:应用于允许用户重置密码的 URL。

option_(option name):由 get_option 函数从数据库检索选项值后应用,在进行反序列化(解码基于数组的选项)之后。要使用此过滤器,您需要为特定选项名称添加过滤器,例如“option_foo”以过滤 get_option("foo") 的输出。

pre_get_space_used:应用于 get_space_used() 函数,以提供显示已用存储空间的不同方式。从此过滤器返回 false 将恢复默认显示行为(使用 wp_upload_dir() 目录空间,单位为兆字节)。

pre_option_(option name):由 get_alloptions 函数从数据库检索选项值后应用,在进行反序列化(解码基于数组的选项)之后。要使用此过滤器,您需要为特定选项名称添加过滤器,例如“pre_option_foo”以过滤选项“foo”。

pre_update_option_(option name):在将选项值保存到数据库之前应用,以便覆盖要存储的值。要使用此过滤器,您需要为特定选项名称添加过滤器,例如“pre_update_option_foo”以过滤选项“foo”。

register:由 wp_register 函数创建供用户注册的侧边栏链接(如果允许)或访问管理面板(如果已登录)后应用。

upload_dir:由 wp_upload_dir 函数计算出的用于上传的目录后应用。过滤器函数参数是一个包含组件的数组:“dir”(上传目录路径)、"url"(上传目录的 URL)和"error"(如果您希望生成错误,可将其设置为 true)。

upload_mimes:允许过滤器函数返回上传的 MIME 类型列表,如果 wp_check_filetype 函数没有输入 MIME 列表。过滤器函数参数是 MIME 类型的关联列表,其组件名称为文件扩展名(以竖线分隔),值为相应的 MIME 类型。

通用文本过滤器

attribute_escape:由 attribute_escape 函数应用于帖子文本和其他内容,该函数在 WordPress 中的许多位置被调用,用于在发送到浏览器前将某些字符转换为 HTML 属性。

js_escape:在 js_escape 函数中发送 JavaScript 代码到浏览器之前应用。

sanitize_key:由 sanitize_key 函数生成,在将其用于您的设置、字段或其他需求之前应用于键。

管理过滤器

本节中的过滤器与 WordPress 的管理屏幕相关,包括内容编辑屏幕。

admin_user_info_links:应用于 WordPress 管理快速菜单中的用户个人资料和信息链接。

autosave_interval:应用于自动保存帖子的间隔。

bulk_actions:应用于管理后台批量操作下拉菜单中的批量项目数组。

bulk_post_updated_messages:应用于批量操作更新消息的数组。

cat_rows:应用于在管理菜单中管理分类时所生成的分类行 HTML。

comment_edit_pre:应用于在编辑屏幕显示前的评论内容。

comment_edit_redirect:应用于在管理菜单中有人编辑评论后的重定向位置。过滤器函数参数:重定向位置、评论 ID。

comment_moderation_subject:应用于在发送电子邮件通知管理员需要审核新评论之前的邮件主题。过滤器函数参数:邮件主题、评论 ID..

comment_moderation_text:应用于在发送电子邮件通知管理员需要审核新评论之前的邮件正文内容。过滤器函数参数:邮件正文文本、评论 ID。

comment_notification_headers:应用于在发送电子邮件通知文章作者有新评论之前的邮件头部信息。过滤器函数参数:邮件头部文本、评论 ID。

comment_notification_subject:应用于在发送电子邮件通知文章作者有新评论之前的邮件主题。过滤器函数参数:邮件主题、评论 ID。

comment_notification_text:应用于在发送电子邮件通知文章作者有新评论之前的邮件正文内容。过滤器函数参数:邮件正文文本、评论 ID。

comment_row_actions:应用于每个评论行下方的操作链接列表(如回复、快速编辑、编辑)。

cron_request:允许过滤传递给 wp_remote_post() 的 URL、密钥和参数,该调用发生在 spawn_cron() 中。

cron_schedules:应用于空数组,以便插件能够在 wp_get_schedules 函数中生成定时任务计划。

custom_menu_order:用于激活 'menu_order' 过滤器。

default_content:应用于在打开新文章编辑器之前的默认文章内容。

default_excerpt:应用于在打开新文章编辑器之前的默认文章摘要。

default_title:应用于在打开新文章编辑器之前的默认文章标题。

editable_slug:由 get_sample_permalink 函数应用于文章、页面、标签或分类的 slug。

format_to_edit:由 format_to_edit 函数应用于文章内容、摘要、标题和密码,该函数由管理菜单调用以准备文章进行编辑。在管理菜单中编辑评论时也会应用此过滤器。

format_to_post:由 format_to_post 函数应用于文章内容,该函数默认情况下未在 WordPress 中使用。

manage_edit-${post_type}_columns:应用于自定义文章类型在管理文章屏幕上显示的列列表。过滤器函数参数/返回值是一个关联数组,其中元素键是列名,值是该列的表头文本。另请参阅动作 manage_${post_type}_posts_custom_column,它将列信息放入编辑屏幕。

manage_link-manager_columns:在 WordPress 2.7 之前为 manage_link_columns。应用于博客圈管理屏幕上显示的列列表。过滤器函数参数/返回值是一个关联列表,其中元素键是列名,值是该列的表头文本。另请参阅动作 manage_link_custom_column,它将列信息放入编辑屏幕。

manage_posts_columns:应用于管理文章屏幕上显示的列列表。过滤器函数参数/返回值是一个关联数组,其中元素键是列名,值是该列的表头文本。另请参阅动作 manage_posts_custom_column,它将列信息放入编辑屏幕。(示例和用法请参阅 Scompt 的教程)。

manage_pages_columns:应用于管理页面屏幕上显示的列列表。过滤器函数参数/返回值是一个关联数组,其中元素键是列名,值是该列的表头文本。另请参阅动作 manage_pages_custom_column,它将列信息放入编辑屏幕。

manage_users_columns

manage_users_custom_column

manage_users_sortable_columns

media_row_actions:应用于媒体库中每个文件下方的操作链接列表(如查看、编辑)。

menu_order:应用于管理菜单顺序的数组。必须先用 'custom_menu_order' 过滤器激活。

nonce_life:应用于生成或验证 nonce 的生命周期。可用于生成更早过期的 nonce。过滤器返回的值应以秒为单位。

nonce_user_logged_out:应用于用户未登录时生成或验证 nonce 时所使用的当前用户 ID。

plugin_row_meta:在插件页面每个插件下方添加额外链接。

postmeta_form_limit:应用于文章编辑屏幕上显示的文章元数据信息项数量。

post_row_actions:应用于“帖子 > 所有帖子”部分下每个帖子下方的操作链接列表(如快速编辑、编辑、查看、预览)。

post_updated_messages:应用于存储与文章、页面和自定义文章类型相关时用户可见的管理消息的数组。此过滤器用于更改这些消息的文本,而非触发它们。请参见 register_post_type 文档中的“自定义消息”部分。

pre_upload_error:应用于允许插件为上传文件创建 XMLRPC 错误。

preview_page_link:应用于页面编辑屏幕底部显示页面预览的链接。

preview_post_link:应用于文章编辑屏幕底部显示文章预览的链接。

richedit_pre:由 wp_richedit_pre 函数应用于文章正文内容,在富文本编辑器中显示之前。

schedule_event:应用于每个添加到 cron 计划中的重复事件和单次事件。

set-screen-option:在设置屏幕选项值之前过滤该值。

show_password_fields:应用于控制是否在用户个人资料页面上提供更改密码机会的 true/false 变量(true 表示显示密码更改字段;false 表示不显示)。

terms_to_edit:应用于用于显示附加到文章的术语(针对每个分类法)的 CSV 格式的术语列表。

the_editor:应用于创建用于容纳富文本编辑器的 HTML DIV,在将其打印到屏幕之前。过滤器函数参数/返回值是一个字符串。

user_can_richedit:应用于 user_can_richedit 函数中关于用户的浏览器是否具备富编辑功能以及用户是否希望使用富编辑器的计算。过滤器函数的参数和返回值是布尔值,表示当前用户是否可以/不能使用富编辑器。

user_has_cap:应用于 WP_User->has_cap 函数中的用户权限列表(该函数由 current_user_can 函数调用)。过滤器函数的参数包括要过滤的权限列表、被询问的权限以及参数列表(如果权限是编辑文章,则包含文章 ID 等内容)。

wp_handle_upload_prefilter:在上传文件时应用于上传信息。过滤器函数参数:代表 $_FILES 单个元素的数组。

wp_handle_upload:在上传文件时应用于上传信息。过滤器函数参数:包含“file”(文件名)、"url"、“type"等元素的数组。

wp_revisions_to_keep:更改为给定文章保留多少修订版。过滤器函数参数:表示希望保存的修订版数量的数字(默认为无限修订版),文章对象。

wp_terms_checklist_args:应用于 wp_terms_checklist() 函数的参数。过滤器函数参数:检查列表参数数组、文章 ID。

wp_upload_tabs:应用于在上传管理管理屏幕上显示的自定义标签列表。使用动作 upload_files_(tab) 来显示您的自定义标签页面。

media_upload_tabs:应用于在上传管理管理屏幕上显示的自定义标签列表。使用动作 upload_files_(tab) 来显示您的自定义标签页面。

plugin_action_links_(plugin file name):应用于插件页面上显示的链接列表(除了激活/停用链接之外)。

views_edit-post:应用于文章列表,例如全部 (30) | 已发布 (22) | 草稿 (5) | 待审 (2) | 垃圾邮件 (1)

富文本编辑器过滤器

这些过滤器修改富文本编辑器 TinyMCE 的配置。

mce_spellchecker_languages:应用于拼写检查器中可用的语言选择。

mce_buttons, mce_buttons_2, mce_buttons_3, mce_buttons_4:应用于富编辑器工具栏的按钮行(每个都是一个按钮名称数组)。

mce_css:应用于富文本编辑器的 CSS 文件 URL。

mce_external_plugins:应用于富文本编辑器将加载的外部插件数组。

mce_external_languages:应用于外部插件加载的语言文件数组,允许它们使用标准翻译方法(参见 tinymce/langs/wp-langs.php 作为参考)。

tiny_mce_before_init:应用于编辑器的整个 init 数组。

模板过滤器

本节包含与主题、模板和样式
文件相关的链接。

locale_stylesheet_uri:应用于 get_locale_stylesheet_uri 函数返回的特定区域样式表 URI。过滤器函数参数:URI、样式表目录 URI。

stylesheet:应用于 get_stylesheet 函数返回的样式表。

stylesheet_directory:应用于 get_stylesheet_directory 函数返回的样式表目录。过滤器函数参数:样式表目录、样式表。

stylesheet_directory_uri:应用于 get_stylesheet_directory_uri 函数返回的样式表目录 URI。过滤器函数参数:样式表目录 URI、样式表。

stylesheet_uri:应用于 get_stylesheet_uri 函数返回的样式表 URI。过滤器函数参数:样式表 URI、样式表。

template:应用于 get_template 函数返回的模板。

template_directory:应用于 get_template_directory 函数返回的模板目录。过滤器函数参数:模板目录、模板。

template_directory_uri:应用于 get_template_directory_uri 函数返回的模板目录 URI。过滤器函数参数:模板目录 URI、模板。

theme_root:应用于 get_theme_root 函数返回的主题根目录(通常是 wp-content/themes)。

theme_root_uri:应用于 get_theme_root_uri 函数返回的主题根目录 URI。过滤器函数参数:URI、站点 URL。

您还可以通过使用以下过滤器钩子从您的主题中替换单个模板文件。另请参阅
template_redirect
动作钩子。这些过滤器中的每一个都以当前主题中相应模板文件的路径作为输入。插件可以通过返回新模板文件路径来修改要使用的文件。

404_template :
archive_template : 例如,您可以使用此钩子为自定义文章类型的归档页面强制使用特定模板。这样,您就可以将所有代码保留在插件中。
attachment_template :
author_template :
category_template :
comments_popup_template :
comments_template:可以使用 "comments_template" 过滤器从插件加载自定义模板,以替换主题的默认评论模板。
date_template :
home_template :
page_template :
paged_template :
search_template :
single_template : 例如,您可以使用此钩子为自定义文章类型强制使用特定模板。这样,您就可以将所有代码保留在插件中。
shortcut_link : 应用于 "Press This" 书签链接。
template_include :
wp_nav_menu_args : 应用于 wp_nav_menu 函数的参数。
wp_nav_menu_items : 过滤导航菜单的 HTML 列表内容。

Kubrick Filters

这些过滤器存在于 3.0 版本之前的默认主题 Kubrick 中。

kubrick_header_color : 应用于 Kubrick 主题页眉的颜色。

kubrick_header_display : 应用于 Kubrick 主题页眉的显示选项。

kubrick_header_image : 应用于 Kubrick 主题的页眉图片文件。

Registration & Login Filters

authenticate : 允许基于用户名和密码执行基本身份验证登录。

registration_errors : 应用于为新用户注册账户时生成的注册错误列表。

user_registration_email : 应用于从注册页面读取的用户电子邮件地址,在尝试将该人注册为新用户之前。

validate_username : 应用于新用户名的验证结果。过滤器函数参数:valid(true/false)、待验证的用户名。

wp_authenticate_user : 当用户尝试登录时应用,在 WordPress 验证用户名和密码之后,但在检查验证错误之前。

Redirect/Rewrite Filters

这些高级过滤器与 WordPress 处理重写规则的方式相关。

allowed_redirect_hosts : 应用于被视为安全的重定向主机名列表。wp-login.php 使用此功能来防御危险的 'redirect_to' 请求参数。

author_rewrite_rules : 应用于生成后的作者相关重写规则。

category_rewrite_rules : 应用于生成后的分类相关重写规则。

comments_rewrite_rules : 应用于生成后的评论相关重写规则。

date_rewrite_rules : 应用于生成后的日期相关重写规则。

mod_rewrite_rules : 应用于提供给用户的重写规则列表,供用户在更改固定链接结构时放入其 .htaccess 文件中。(注意:替代了已弃用的 rewrite_rules 过滤器。)

page_rewrite_rules : 应用于生成后的页面相关重写规则。

post_rewrite_rules : 应用于生成后的文章相关重写规则。

redirect_canonical : 可用于取消“规范”URL 的重定向。接受 2 个参数:$redirect_url、$requested_url。若要取消重定向,请返回 FALSE;若要允许重定向,请返回 $redirect_url。

rewrite_rules_array : 应用于生成后的整个重写规则数组。

root_rewrite_rules : 应用于生成后的根级重写规则。

search_rewrite_rules : 应用于生成后的搜索相关重写规则。

wp_redirect : 应用于默认 wp_redirect 函数的重定向 URL。过滤器函数参数:URL、HTTP 状态码。

wp_redirect_status : 应用于默认 wp_redirect 函数进行重定向时的 HTTP 状态码。过滤器函数参数:HTTP 状态码、URL。

WP_Query Filters

这些是在构建
和执行查询以检索文章过程中,由 WP_Query 对象 运行的过滤器。有关涉及用户、元值以及更通用查询的查询,请参阅 #Advanced WordPress Filters。

found_posts : 应用于从数据库查询后得到的文章列表。

found_posts_query : 在从数据库查询出要显示的文章列表后,WordPress 会在查询结果中选择行。此过滤器允许您在该步骤执行除 SELECT FOUND_ROWS() 之外的操作。

post_limits : 应用于返回文章数组的查询中的 LIMIT 子句。

posts_clauses : 应用于返回文章数组的整个 SQL 查询,按子句类型划分为带键的数组。与 posts_request 相比可能更容易处理。

posts_distinct : 允许插件向返回文章数组的查询添加 DISTINCTROW 子句。

posts_fields : 应用于返回文章数组的查询的字段列表。

posts_groupby : 应用于返回文章数组的查询中的 GROUP BY 子句(通常为空)。

posts_join : 应用于返回文章数组的查询中的 JOIN 子句。这通常用于将表添加到 JOIN 中,并与 posts_where 过滤器配合使用。

posts_join_paged : 应用于返回文章数组的查询中的 JOIN 子句,在计算分页后(尽管分页不影响 JOIN,因此这实际上等同于 posts_join)。

posts_orderby : 应用于返回文章数组的查询中的 ORDER BY 子句。

posts_request:应用于返回文章数组的整个 SQL 查询,在运行查询之前执行。

posts_results:允许您操纵从查询返回的结果数组。

posts_search:应用于 WP_Query 的 WHERE 子句中使用的搜索 SQL。

posts_where:应用于返回文章数组的查询的 WHERE 子句。

posts_where_paged:应用于返回文章数组的查询的 WHERE 子句,在计算分页之后(尽管分页不影响 WHERE,因此这实际上等同于 posts_where)。

the_posts:应用于从数据库查询的文章列表,在单篇文章页面上对权限和草稿状态进行最小处理之后。

媒体过滤器

本节包含用于集成不同类型的媒体的媒体过滤器。

editor_max_image_size:

image_downsize:

get_image_tag_class:

get_image_tag:

image_resize_dimensions:

intermediate_image_sizes:

icon_dir:

wp_get_attachment_image_attributes:

img_caption_shortcode:

post_gallery:

use_default_gallery_style:

gallery_style:

(adjacent)_image_link:

embed_defaults:

load_default_embeds:

embed_oembed_html:

embed_googlevideo:

oembed_result:

upload_size_limit:

wp_image_editors:

plupload_default_settings:

plupload_default_params:

image_size_names_choose:

wp_prepare_attachment_for_js:

media_upload_tabs:

disable_captions:

media_view_settings:

media_view_strings:

wp_handle_upload_prefilter:

高级 WordPress 过滤器

本节包含与国际化、杂项查询以及其他基本 WordPress 功能相关的高级过滤器。

create_user_query:应用于将新用户信息保存到数据库的查询,在运行查询之前执行。

get_editable_authors:应用于当前用户有权编辑的文章作者列表,在 get_editable_authors 函数中。

get_next_post_join:在 get_next_post 函数中(该函数查找当前显示文章的下一篇文章),应用于 SQL JOIN 子句(如果用户正在查看分类归档,通常连接到分类表)。过滤器函数参数:JOIN 子句,是否保持在同一分类(true/false),排除的分类列表。

get_next_post_sort:在 get_next_post 函数中(该函数查找当前显示文章的下一篇文章),应用于 SQL ORDER BY 子句(通常按文章日期升序排列并限制为 1 篇文章)。过滤器函数参数:ORDER BY 子句。

get_next_post_where:在 get_next_post 函数中(该函数查找当前显示文章的下一篇文章),应用于 SQL WHERE 子句(通常查找下一个已发布的带日期文章)。过滤器函数参数:WHERE 子句,是否保持在同一分类(true/false),排除的分类列表。

get_previous_post_join:在 get_previous_post 函数中(该函数查找当前显示文章的前一篇文章),应用于 SQL JOIN 子句(如果用户正在查看分类归档,通常连接到分类表)。过滤器函数参数:join 子句,是否保持在同一分类(true/false),排除的分类列表。

get_previous_post_sort:在 get_previous_post 函数中(该函数查找当前显示文章的前一篇文章),应用于 SQL ORDER BY 子句(通常按文章日期降序排列并限制为 1 篇文章)。过滤器函数参数:ORDER BY 子句。

get_previous_post_where:在 get_previous_post 函数中(该函数查找当前显示文章的前一篇文章),应用于 SQL WHERE 子句(通常查找上一个已发布的带日期文章)。过滤器函数参数:WHERE 子句,是否保持在同一分类(true/false),排除的分类列表。

gettext:应用于由 translation() 函数翻译的文本(该函数被 __() 和 _e() 等国际化函数调用)。过滤器函数参数:翻译后的文本、未翻译的文本和文本域。即使国际化未生效或文本域未加载也会应用。

override_load_textdomain

get_meta_sql:在 WP_Meta_Query::get_sql 函数中(该函数生成要附加到主查询以进行高级元数据查询的 SQL 子句),应用于由高级元数据查询生成的 SQL JOIN 和 WHERE 子句。过滤器函数参数:array( compact( 'join', 'where' ), $this->queries, $type, $primary_table, $primary_id_column, $context )

get_others_drafts:应用于选择其他用户的草稿以供在管理菜单中显示的查询。

get_users_drafts:应用于选择用户的草稿以供在管理菜单中显示的查询。

locale:由 get_locale 函数应用于区域设置。

query:应用于所有查询(至少是所有在插件加载后运行的查询)。

query_string : 已弃用 – 请使用 query_vars 或 request。
query_vars : 在构建 SQL 查询之前应用于公共 WordPress 查询变量列表。适用于移除插件以其他方式处理的额外 permalink 信息。

request : 与 query_vars 类似,但在添加“额外”和私有查询变量之后应用。

excerpt_length : 定义单篇文章摘要的长度。

excerpt_more : 定义摘要末尾的更多字符串。

post_edit_form_tag : 允许您在默认的文章/页面编辑器表单标签中追加代码。

update_user_query : 在运行查询之前应用于用于更新用户信息的更新查询。

uploading_iframe_src(自 WP 2.5 起已移除):应用于文章和页面编辑屏幕上上传 iframe 的 HTML src 标签。

xmlrpc_methods : 应用于 XMLRPC 服务器定义的 XMLRPC 方法列表。

wp_mail_from : 在 wp_mail 函数发送任何邮件之前应用。提供的值是计算出的发件人地址,即当前主机名上的 wordpress(由 $_SERVER['SERVER_NAME'] 设置)。过滤器应返回邮箱地址或“名称/邮箱”组合,格式为"user@example.com"或"Name \<user@example.com>"(不带引号!)。

wp_mail_from_name : 在 wp_mail 函数发送任何邮件之前应用。过滤器应返回用作邮件发件人姓名的名称字符串。

update_(meta_type)_metadata : 在元数据更新之前应用。例如,如果更新了用户元数据,则钩子名为'update_user_metadata'

小工具

本节包含由 WordPress
核心中存在的小工具添加的过滤器。

dynamic_sidebar_params : 应用于 WordPress 小工具中传递给 widgets_init 函数的参数。

widget_archives_dropdown_args : 应用于 WordPress 归档小工具中传递给 wp_get_archives() 函数的参数。

widget_categories_args : 应用于 WordPress 分类小工具中传递给 wp_list_categories() 函数的参数。

widget_links_args : 应用于 WordPress 链接小工具中传递给 wp_list_bookmarks() 函数的参数。

widget_nav_menu_args : 应用于 WordPress 自定义菜单小工具中传递给 wp_nav_menu() 函数的参数。

widget_pages_args : 应用于 WordPress 页面小工具中传递给 wp_list_pages() 函数的参数。

widget_tag_cloud_args : 应用于 WordPress 页面小工具中传递给 wp_tag_cloud() 函数的参数。

widget_text : 应用于 WordPress 文本小工具的文本内容。也可能适用于一些第三方小工具。

widget_title : 应用于任何用户可编辑的 WordPress 小工具的标题。也可能适用于一些第三方小工具。

管理栏

本节包含在 WordPress
3.1.0 中添加的管理栏所添加的过滤器。

wp_admin_bar_class : 允许更改 _wp_admin_bar_init() 函数中的默认 'WP_Admin_Bar' 类。

延伸阅读

  • 钩子数据库 – 官方 WordPress 代码参考中所有钩子的文档。