WordPress插件制作教程(六): 插件函数之过滤器(Filter)函数

五月 29
磊子 2012年 3 条评论

将近有两个多星期没有写文章了,在这里和大家说抱歉了,最近事情真是多,工作家里忙了这个忙那个,今天赶紧抽个空给大家继续写WordPress插件教程,本来想着写一个插件例子,但是时间有限。这一篇为大家说一下WordPress插件函数吧,要制作插件了解这些函数是非常有必要的,那么磊子就为大家先简单的介绍一下。

WordPress插件函数分为过滤器”(Filters)和“动作”(Actions),WordPress 使用这种接口函数把插件挂接到系统中来,然后加以使用,这一篇主要是介绍下过滤器(Filter)函数。
过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行(例如将数据写入数据库或将其传递到浏览器页面)。过滤器处于数据库与浏览器中间(当WordPress正在产生页面的时候),WordPress中的多数输入与输出都经过至少一个过滤器。WordPress默认状态做了一些过滤,你的插件可以添加它自己的过滤器。

添加你过滤器到WordPress中的方法有这么几步。

1.创建过滤器(过滤数据)的PHP函数。

2.在WordPress中通过钩子(钩子就是主题中的wp_header()和wp_footer())接入过滤器,通过引用add_filter来接入。

3.把你自己的PHP函数放进一个插件文件,并激活它。

首先创建你插件中过滤器的第一步就是创建一个PHP函数来执行过滤,并把它存入你的插件文件中(你的插件文件必须要置于wp-content/plugins目录下)。例如,如果你需要确认你的文章和评论中没有包含脏话,你可以定义一个包含禁用词语列表的全局变量,然后创建下面的PHP函数:

function filter_profanity($content) {
    global $profanities;
    foreach($profanities as $profanity) {
        $content=str_ireplace($profanity,'{censored}',$content);
    }
    return $content;
}

//创建函数名的时候,要注意保持函数名的唯一性。

在你的函数定义完成后,下一步就是钩入或者说在WordPress中注册它。为了达到这一点,在你插件的全局执行空间引用。

add_filter ( 'hook_name', 'your_filter', [priority], [accepted_args] );

//hook_name
//    WordPress提供的过滤器钩子,这钩子定义了你的过滤器何时会被执行。
//your_filter
//    你希望用来执行过滤功能的函数名称。这可以是一个标准的PHP函数,一个标准的WordPress核心函数,或者是一个你在一个插件文件中定义过的函数。
//priority
//    可选,整型参数,用来确定与特定过滤器相关联的函数在执行过程中的顺序(默认为10)。具有相同优先权的函数在执行时的顺序依据它们在过滤器中的添加顺序。
//accepted_args
//    可选,整型参数,定义了你的函数可以接受多少参数(默认为1)。有一定作用价值,因为一些钩子会传递多于一个的

//例如上面的例子就可以使用
//add_filter('comment_text','filter_profanity');

最后将插件激活。便可以使用这个过滤器函数了。如果你想移除某个过滤器函数可以使用remove_filter('filter_hook','filter_function')来完成。

过滤器就为大家简单介绍一下。大家如果查看这些过滤器函数的可以来磊子的WordPress函数文档里面查看。

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » WordPress插件制作教程(六): 插件函数之过滤器(Filter)函数
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

3 条留言 其中:访客:2 条, 博主:1 条

  1. 小乐乐说:

    磊哥,广告商怎么拉来的,求详解 :roll:

  2. 有时有些想法要制作些插件,可没这技术。不错教程

说点什么吧




wireless earbuds moscow mule mugs bluetooth speakers waterproof camera best wireless earbuds best vacuum cleaner best drugstore foundation best dishwasher best waist trainer wireless headphones best vacuum 0594918 best bluetooth earbuds waterproof bluetooth speaker tattoo cover up action camera
订阅本站