您现在的位置是:首页 > 网站制作 > WordpressWordpress
WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数
杰帅2023-08-06【Wordpress】人已围观
简介上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters)。
上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters)。
过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行(例如将数据写入数据库或将其传递到浏览器页面)。过滤器处于数据库与浏览器中间(当WordPress正在产生页面的时候),WordPress中的多数输入与输出都经过至少一个过滤器。WordPress默认状态做了一些过滤,你的插件可以添加它自己的过滤器。
添加你过滤器到WordPress中的方法有这么几步。
1.创建过滤器(过滤数据)的PHP函数。
2.在WordPress中通过钩子(钩子就是主题中的wp_header()和wp_footer())接入过滤器,通过引用add_filter来接入。
3.把你自己的PHP函数放进一个插件文件,并激活它。
首先创建你插件中过滤器的第一步就是创建一个PHP函数来执行过滤,并把它存入你的插件文件中(你的插件文件必须要置于wp-content/plugins目录下)。例如,如果你需要确认你的文章和评论中没有包含脏话,你可以定义一个包含禁用词语列表的全局变量,然后创建下面的PHP函数:
// 当评论文本内容还没有展示在页面之前,执行自定义的过滤函数来过滤内容中的敏感字
add_filter('comment_text','filter_word');
// 声明全局变量,来存储需要过滤的关键字
global $shieldingword;
$shieldingword = array('fuck', 'dirty'); // 需要过滤的关键字
// 过滤关键字的函数, 创建函数名的时候,要注意保持函数名的唯一性。
function filter_word($content) {
foreach($shieldingword as $shielding) {
$content = str_ireplace($shielding, '{Censored Word}', $content);
}
return $content;
}
在你的函数定义完成后,下一步就是挂载或者说在WordPress中注册它。注意:在你插件的全局执行空间引用指定的挂在点。
add_filter ('hook_name', 'your_filter', [priority], [accepted_args]);
// 官方文档: http://codex.wordpress.org/Plugin_API/Filter_Reference
// hook_name: WordPress提供的过滤器钩子,这钩子定义了你的过滤器何时会被执行。
// your_filter: 你希望用来执行过滤功能的函数名称。这可以是一个标准的PHP函数,一个标准的WordPress核心函数,或者是一个你在一个插件文件中定义过的函数。
// priority: (可选参数),整型参数,用来确定与特定过滤器相关联的函数在执行过程中的顺序(默认为10)。具有相同优先权的函数在执行时的顺序依据它们在过滤器中的添加顺序。
// accepted_args: (可选参数),整型参数,定义了你的函数可以接受多少参数(默认为1)。有一定作用价值,因为一些钩子会传递多于一个的
最后将插件激活。就可以使用这个过滤器函数了。如果你想移除某个过滤器函数可以使用remove_filter('filter_hook','filter_function')来完成。
过滤器就为大家简单介绍一下。详细使用说明请参照官方文档:http://codex.wordpress.org/Plugin_API/Filter_Reference
Tags:Filter WordPress插件制作教程 wordpress教程 插件函数 过滤器函数
很赞哦! ()
相关文章
随机图文
-
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功 -
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata?
文章评论
本站推荐
标签云
猜你喜欢
- WordPress网站的FIM文件完整性监控介绍及防护
- 什么是WordPress中的SEO友好URL结构
- WordPress 函数:get_template_part()调用你的自定义模板
- WordPress文本小工具运行PHP
- WordPress网站设置开启CloudFlare后显示521错误的修复解决办法
- 外贸网站为什么要坚持Google白帽SEO,反对Google黑帽SEO?
- Google Ads竞价广告应该怎么做?-谷歌推广和Google 广告优化的3部曲
- WordPress博客平台融资3亿美元
- 必备的WordPress插件,让你的网站更加强大
- WordPress网站如何设置定时发布文章