文本是《50个 WordPress 过滤钩子(共7篇)》专题的第 7 篇。阅读本文前,建议先阅读前面的文章:
欢迎来到《50个 WordPress 过滤钩子》的最后一个部分,在这个章节中,我们将回顾之前所学的50个WordPress过滤钩子,并简要对其做个总结。
第一章 WordPress过滤器介绍
在本系列教程中的第一章节,我们进入了WordPress过滤钩子的奇妙世界,知道了过滤钩子的概念、工作机制,何时及如何使用过滤钩子。我们学习了下列内容:
什么是WordPress过滤钩子: 过滤钩子是一种函数,处于数据库与浏览器中间,在 WordPress 输出之前对数据做出反应,WordPress有上百种过滤钩子,正如我们在教程中所学,你也可以在开发中(如插件)创建自己的过滤钩子。
如何创建一个过滤函数,并且挂载到过滤钩子: 其实很简单:创建一个函数,用来定义数据以及用add_filter()过滤钩子将其连接起来(可能我描述的过于简单了,实际上会更为复杂些)。如果你还不理解,可以重新复习本系列的第一章节,这个很重要。
如何从一个过滤钩子中移除函数:我们学过了如何从过滤钩子中移除的两个函数:remove_filter() 和remove_all_filters(). 顾名思义,从字面理解就可以知道各自的用法了。
如何创建我们自己的过滤钩子:在WordPress核心代码中已经中上百个出色的过滤钩子了,如果我们想让自己开发的插件如核心代码那样灵活和扩展性强,此时便可以使用apply_filters() 这个函数了,当然首先你必须是插件开发者。
五个章节中50个重要过滤钩子对应的典型样例
进入WordPress过滤钩子的世界后,首先要学习hook到WordPress核心代码的每个过滤钩子,这可能是WordPress教程史上最优秀的教材了,我们为此付出了大量的时间和精力做了精选,因为在WordPress v3.9.1版本中就有超过上千个过滤钩子。
教程中我们精选了50个过滤钩子,对每个都做了简洁的阐述并附带样例源码,接下来我们再对所学的知识做个简单的回顾。
第二章 WordPress过滤钩子的1-10个样例
- login_errors允许我们在登录WordPress时修改默认的错误提示信息。
- comment_post_redirect 可以让访客在评论结束后将其重定向到内部页面(或者允许的外部域页面)
- allowed_redirect_hosts可以让我们在wp_safe_redirect()函数中自定义“安全”的外部主机白名单。
- body_class可以为<body>标签设定样式表。
- locale 可以改变WordPress的本地化语言。
- sanitize_user可过滤用户名的不安全字符。
- the_content过滤钩子可在文章内容显示出来之前对其做些修改。
- the_password_form 可自定义密码保护文章的提示信息。
- the_terms 过滤钩子可以修改the_terms()函数的输出结果。
- wp_mail_from可修改默认的Email 发件人地址
第三章 WordPress过滤钩子的11-20个样例
- gettext过滤可翻译的字符串,让WordPress得以语言本地化。
- sanitize_title 可优化标题别名。
- no_texturize_shortcodes将简码名字加入”do not texturize”名单中。
- pre_comment_approved过滤评论的审批状态。
- enable_post_by_email_configuration 可启用或者禁用“通过邮箱发表文章”的功能。
- wp_title过滤页面标题,自定义title标签在浏览器中的显示结果。
- preprocess_comment可对评论保存到数据库前进行处理。
- login_redirect 可在用户登陆后自定义安全的跳转地址。
- plugin_action_links_$plugin 可为为插件创建一个动作链接。
- 第三章 WordPress过滤钩子的11-20个样例
第四章 WordPress过滤钩子的21-30个样例
- use_default_gallery_style 可以启用或者禁用简码的CSS样式表
- wp_get_attachment_url 可过滤附件的URLs输出结果。
- wp_mail_content_type设置邮件的内容类型(默认为普通的text/plain文本类型)
- pre_comment_user_ip可让我们设置存入数据库的评论者ip地址。
- wp_revisions_to_keep 修改文章的保存版本修订限制次数—无论是单篇文章、文章类型或其他均可。
- img_caption_shortcode 过滤图片简码,可根据需要重写输出显示结果。
- post_class 可为文章设置自定义的CSS 类。
- attachment_fields_to_edit可以让我们在上传或编辑附件时增减一些输入域。
- excerpt_length 可以设置自动摘要的字数长度。
- bulk_actions-$screenid处理后台管理页面中的“批量操作”功能,允许增减一些操作。
第五章 WordPress过滤钩子的31-40个样例
- post_search过滤搜索查询过程
- wp_editor_set_quality可设置上传图片的压缩率,改变图片附件的大小
- widget_text过滤文本小工具得以让我们改变显示输出结果。
- the_content_feed 可修改feed的文本内容
- mce_buttons可增删可视化编辑器中不想要的按钮
- list_terms_exclusions 可自定义排除列表中的某些分类
- image_size_names_choose 可在视化编辑器中修改下拉列表中的图片尺寸
- excerpt_more可将文章自动摘要中默认的more….改为其他内容.
- manage_posts_columns 让我们在后台管理页面中更容易修改栏目项
- user_contactmethods可编辑用户联系信息表单,增减输入域
第六章 WordPress过滤钩子的41-50个样例
- script_loader_src 可修改wp_enqueue_script()函数并改变其输出结果。
- admin_post_thumbnail_html 允许我们在新建文章页面的 “设置特色图像”文字链接下插入HTML 内容。
- comment_flood_filter 可防范灌水评论攻击
- dashboard_glance_items 可以在后台管理中修改“概览”部分的栏目
- login_message 可修改登录表单默认提示信息
- bulk_post_udated_messages 可修改文章更新时的提示信息
- widget_categories_args 修改默认分类小工具参数
- registration_redirect用户注册成功后重定向至一个“安全”页面
- comment_form_default_fields更改评论表单字段
- upload_mimes 对允许上传到媒体库的的文件类型进行自定义
结束语
这部分的教程到此为止就全部结束了,我们学完了Wordpress过滤钩子,但还没涉及动作(actions)钩子,在接下来的七个章节中我们将继续学习。
尽管这是最让人疲惫不堪的系列教程,但我仍然乐于编写其中的每个单词和代码。所做甚微,但课题意义不凡,在教程编写过程中我学到了很多知识,希望你们也是如此。
若各位能做到以下几点,我将非常感谢。
- 在留言区写下你们对本系列教程的看法和建议。
- 提出新的过滤钩子和样例作为补充。
- 对教程中存在的错漏、语意含糊和表达前后不一致等问题请不吝赐教。
- 将本系列教程分享给他人,让更多人熟悉掌握WordPress过滤钩子。
谢谢大家能一直忍耐听我啰嗦到最后,再见!
原文出自:http://code.tutsplus.com/tutorials/50-filters-of-wordpress-series-finale–cms-21300
由 shanezx@WordPress大学 原创翻译,未经允许,禁止转载和采用本译文。