apply_filters() 函數用來創建一個過濾器,大多數被用在函數中,是 WordPress 插件機制中非常重要的一個函數,能讓其它的主題和插件對一個值進行修改過濾。
用法
apply_filters( $tag, $value, $var... );
參數
$tag
(字符串)(必須)過濾器的名字。
默認值:None
$value
(混合)(必須)要過濾的值,如果沒人過濾則直接返回這個值。
$var
(混合) (可選)傳給過濾函數額外的變量參數,輔助過濾函數對返回值進行操作,可以添加無限個。
返回值
(混合)過濾后的值,如果沒人過濾則直接返回 $value 的值。
例子
沒人過濾:
echo apply_filters( 'test', '可以被修改的值' );
打印結果:
可以被修改的值
有人過濾:
function test_func(){ return '修改值'; } add_filter( 'test', 'test_func' ); echo apply_filters( 'test', '可以被修改的值' );
打印結果:
修改值
接收參數:
function test_func(){ return '修改值'; } add_filter( 'test', 'test_func' ); function test_func2( $text ){ return $text . '2'; } add_filter( 'test', 'test_func2' ); echo apply_filters( 'test', '可以被修改的值' );
多個參數:
function test_func( $text, $var, $var2 ){ return '修改值' . $var1 . $var2; } add_action( 'test', 'test_func', 10, 3 ); echo apply_filters( 'test', '可以被修改的值', '輔助值1', '輔助值2' );
轉自:http://www.endskin.com/apply_filters.html