程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 詳解WordPress中創建和添加過濾器的相關PHP函數

詳解WordPress中創建和添加過濾器的相關PHP函數

編輯:PHP綜合

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved