apply_filters()(建立過濾器)
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' );
其它
此函數位於:wp-includes/plugin.php
add_filter()(添加過濾器)
add_filter() 可以掛載一個函數到指定的過濾器上。
用法
add_filter( $tag, $function_to_add, $priority, $accepted_args );
參數
$tag
(字串)(必須)所掛載的過濾器名字(和目標 apply_filters() 函數的 $tag 屬性一樣)。
預設值:None
$function_to_add
(回調)(必須)要掛載的回呼函數,參考 PHP 回呼函數類型文檔。
預設值:None
$priority
(整數)(可選)執行順序,越小函數越先被執行。
預設值:10
$accepted_args
(整數)(可選)回呼函數接收的參數數量,設定多個可以接收更多 apply_filters() 函數傳進來的參數。
預設值:1
傳回值
(布爾)總是 True
例子
function test_func( $text, $var1, $var2 ){ return $text . $var1 . $var2;}add_action( 'test', 'test_func', 10, 3 );echo apply_filters( 'test', '參數2', '參數3', '參數4' );
列印:
test參數2參數3
其它
該函數位於:wp-includes/plugin.php
以上就介紹了詳解WordPress中建立和添加過濾器的相關PHP函數,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。