站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Plugin API
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== 过滤器 == '''过滤器'''是WordPress,在执行时的某一点上,就在用数据采取一些活动之前,通过数据的函数(例如将它添加到数据库或者将它发送到浏览器界面)。过滤器在数据库和浏览器之间(当WordPress产生网页的时候),在浏览器和数据库之间(当WordPress给数据库添加新的文章和评论的时候);WordPress中大多数输入和输出至少通过一个过滤器。默认情况下,WordPress处理一些过滤,而且你的插件可以添加它自己的过滤。 将你自己的过滤器添加到WordPress的基本步骤是(在下面详细描述了): #创建过滤了数据的PHP函数。 #通过访问<tt>add_filter</tt>,hook到WordPress里的过滤器。 #将PHP函数放到一个插件文件中,并且将它激活。 === 创建一个过滤器函数 === 一个过滤器函数用来输入未修改的数据,并且返回修改的数据(或者在有些情况下,一个null值暗示数据应该被删除或者忽视)。如果数据没有被你的过滤器修改,那么原始的数据必须返回,这样如果需要的话,随后的数据会继续修改值。 因此,在你的插件上创建一个过滤器的第一步便是创建一个PHP函数来做过滤,并把这个函数放入你的插件文件(而且你的插进文件必须进入''wp-content/插件''目录)。例如,如果你想确定你的文章和评论没有包含任何亵渎的内容,你可能要用一列禁语定义一个全局变量,然后创建下面的PHP函数: <pre> function filter_profanity($content) { global $profanities; foreach($profanities as $profanity) { $content=str_ireplace($profanity,'{censored}',$content); } return $content; } </pre> '''注''':牢记其它的插件或者WordPress核心可能已经正在使用你已经想到的函数名。更多的信息请看[[WordPress:Writing a Plugin#Avoiding Function Name Collisions|避免函数名重叠]]。 === 你的过滤器的Hook === 在你的函数得到定义之后,下一步就是将它"hook"或者注册到WordPress。要做到这一点,在你的插件文件的全局执行空间访问<tt>add_filter</tt>: <pre> add_filter('hook_name', 'your_filter', [priority], [accepted_args]); </pre> 这儿有: * <tt>hook_name</tt>是一个过滤器hook的名称,由WordPress提供,定义了什么时候应该使用你的过滤器。 *<tt>你的_过滤器</tt>是你想用来过滤的函数名。这可能是一个标准的PHP函数,一个显示在WordPress核心的函数,或者一个你定义在插件文件中的函数。 * <tt>priority</tt>是一个随意的整型参数,可以用来规定函数一个特别的过滤器执行的顺序(默认:10)更低的数字符合更早的执行,拥有同样的优先权的函数执行的顺序,是它们添加到过滤器的顺序。 * <tt>accepted_args</tt>是一个任意的整型参数,定义你的函数可以接受多少参数(默认1),有用,因为有的hooks可以通过不止一个参数到你的函数上。 在上述的例子中,我们会将以下的内容放到插件文件的主要执行区域,指示WordPress为防止亵渎,而过滤评论: <pre> add_filter('comment_text','filter_profanity'); </pre> 你也可以使用WordPress函数<tt>remove_filter()</tt>将过滤器从过滤器hooks中移除。请看看[[#WordPress:Removing Actions and Filters|移除 Actions 和过滤器]]。 === 安装和激活 === 使你的过滤器hook运行的最后一步便是安装文件并且激活插件。你写的PHP函数和<tt>add_filter</tt>调用必须一同地进入一个PHP文件,而且PHP文件必须安装在''wp-content/plugins''目录。一旦这个文件安装了,你就要访问WordPress的管理部分并且激活你的插件;更多的信息请看看[[WordPress:Managing Plugins|管理你的插件]]。 === 过滤器的当前的Hooks === 请看[[WordPress:Plugin API/过滤器参考]]中WordPress当前过滤器hooks的列表,和链接到先前版本WordPress的链接。 === 例子 === 这是一个例子,[http://comox.textdrive.com/pipermail/wp-hackers/2008-February/018013.html 如Ozh 在 wp-hackers电子邮件列表上所描述的] <pre> add_filter('bloginfo', 'mybloginfo', 1, 2); add_filter('bloginfo_url', 'mybloginfo', 1, 2); function mybloginfo($result='', $show='') { switch ($show) { case 'wpurl': $result = SITE_URL; break; case 'template_directory': $result = TEMPL_DIR; break; default: } return $result; } </pre>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)