站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress插件API
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==过滤器(Filters)== <STRONG>过滤器</STRONG>是WordPres在运行中的特定时间点、对数据进行操作(如将数据加入[[数据库]],或将数据发送到[[浏览器]]窗口上)前,用来传递数据的函数。WordPress生成页面时,过滤器位于数据库和[[浏览器]]之间;当WordPress将新日志和评论加入到数据库中时,过滤器位于浏览器和数据库之间。WordPress中大多数输入和输出内容都至少经过一个过滤器的传递。默认情况下WordPress会执行一些过滤行为,但插件也可以添加自己的过滤器函数。 将过滤器函数加入WordPress的基本步骤如下(下文中有详细描述): #创建一个可以过滤数据的PHP函数 #调用[http://www.wordpress.la/codex-%E5%B8%B8%E7%94%A8%E5%87%BD%E6%95%B0-add_filter%28%29.html add_filter()],将过滤器函数勾入WordPress #将创建的PHP函数存放在插件文件中,激活该函数 ===创建过滤器函数=== 过滤器函数将未经修改的数据作为输入内容,返回修改后的数据(有时会返回空值来表示该数据应该被删除或忽略)。如果过滤器函数没有对数据做修改,则应该返回原始数据,方便插件必要时修改数据值。 因此要在插件中新建一个过滤器函数,首先要创建一个PHP函数负责过滤,然后将该PHP函数存入插件文件(插件文件必须位于<EM>wp-content/plugins</EM>目录下)。例如,如果希望我们的日志和评论中没有亵渎性语言,我们需要定义一个全局变量,列出所有不允许出现的词语,然后创建PHP函数: function filter_profanity($content) { global $profanities; $content=str_ireplace($profanities,'{censored}',$content); return $content; } 为什么这里不用循环也可以?这是因为<EM>$profanities</EM>是一个数组,<EM> [http://www.php.net/manual/en/function.str-replace.php str_replace]</EM>可以帮我们循环该数组。 注意:其它插件或WordPress核心文件中的函数可能已经使用了我们所创建的函数名称。详细信息参见[http://www.wordpress.la/codex-%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91.html#tips 插件开发建议]。 <strong>将过滤器勾入WordPress(连接到WordPress程序中)</strong> 定义PHP函数后,我们要将过滤器函数连接到WordPress中。可以在插件文件的全局变量执行域中调用[http://www.wordpress.la/codex-%E5%B8%B8%E7%94%A8%E5%87%BD%E6%95%B0-add_filter%28%29.html add_filter]来实现连接: <PRE>add_filter ( 'hook_name', 'your_filter', [priority], [accepted_args] ); </PRE> 其中: <STRONG>hook_name</STRONG> WordPress过滤器钩子的名称,通过名称我们可以了解到什么时候需要用到过滤器函数。 <STRONG>your_function_name</STRONG> 用于过滤的函数的名称。函数需要是WordPress核心文件中的标准[[PHP]]函数,或是我们在插件文件中定义的函数。 <STRONG>priority</STRONG> 用一个可选的整数型变量来规定函数(该函数与特定过滤器相关联)的执行顺序,变量值默认为10。若某函数的priority值小于10,优先执行该函数。如果若干函数priority值相等,则按加入过滤器的顺序执行函数。 <STRONG>accept_args</STRONG> 用一个可选的整数型变量来定义函数能够接受的参数数量(默认值为1)。有些钩子能够向函数传递一个以上参数,因此accept_args实用价值较大。 根据上面的例子,我们要在插件文件的主执行区域中加入以下代码行,让WordPress过滤含有亵渎性内容的评论: <PRE>add_filter('comment_text','filter_profanity'); </PRE> 我们也可以用remove_filter()删除过滤器钩子中的过滤器函数。 ===安装与激活=== 最后我们要安装文件、激活插件以运行过滤器钩子。我们要将创建的PHP函数和add_filter调用存入一个PHP文件并且将该PHP文件安装在<EM>wp-content/plugins</EM>目录下。安装完毕后,在WordPress的管理界面中激活插件;参见[http://www.wordpress.la/codex-%E7%AE%A1%E7%90%86%E6%8F%92%E4%BB%B6.html 管理插件]。 ===当前过滤器钩子=== [http://www.wordpress.la/codex-%E6%8F%92%E4%BB%B6API%E4%B9%8B%E5%B8%B8%E7%94%A8%E5%8A%A8%E4%BD%9C%28action%29.html 插件API/常用动作(action)]中列出了WordPress现有过滤器钩子以及之前WordPress版本的链接。 ===示例=== 这是wp-hackers[[邮件列表]]中的一个示例。该示例用一个插件来更改(或重写)默认的[http://www.wordpress.la/codex-%E6%A8%A1%E6%9D%BF%E6%A0%87%E7%AD%BE-bloginfo%28%29.html bloginfo()]函数。这将会修改核心函数。 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; }
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)