2017-09-21

猎数博客

数据挖掘,机器学习

WordPress 代码之 add_filter

作者:江航 / 2011-04-29 / (阅读 2,338 次) /



下面是WP添加一个filter的代码:


function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {

global $wp_filter, $merged_filters;
$idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);

$wp_filter[$tag][$priority][$idx] = array(‘function’ => $function_to_add, ‘accepted_args’ => $accepted_args);

unset( $merged_filters[ $tag ] );

return true;

}


从这里可以看到,函数中定义了一个全局变量$wp_filter, 每次添加一个filter的时候,先根据要加的tag,functinon名字,优先级生成一个唯一的ID,然后把函数加到数组$wp[$tag][$pri]中,key值是刚刚生成的唯一ID。这样,对每个tag而言,有一系列的优先级,每个优先级又有一 系列的函数。每个函数保存有函数名和接受参数的个数,缺省参数个数是一个。

在default_filter.php中,添加了很多这样的filter。



Wordpress一览无余,源码面前没有秘密,wordpress的函数调用库,展示wordpress页面打开过程中十几万个函数调用,学习WP开发的绝佳资源。点击这里进入

本文地址: http://www.bagualu.net/wordpress/archives/221 转载请注明






相关文章

  • 再说Wordpress中添加小挂件widget( 5,869 )
  • Wordpress中添加自定义参数( 3,413 )
  • WordPress代码之apply_filters( 3,274 )
  • 微博分享按钮( 3,227 )
  • WordPress版权声明插件( 3,199 )
  • wordpress函数调用库( 2,634 )
  • 通过wpdb访问WordPress数据库( 2,444 )
  • 通过wordpress debug插件,显示filter调用过程( 2,405 )
  • 用Wordpress做相册( 2,398 )
  • WordPress 代码之 add_filter( 2,338 )
  • Leave a Reply

    您必须登录以发表评论,

    沪ICP备11036560号
    联系我: jianghang at bagualu.net