我目前被卡在一個點,在這裏我正在使用自定義代碼覆蓋函數值,其中「call_user_func」。功能名稱爲「admin_branding」,可以滿足其他功能覆蓋它的默認值。覆蓋自定義函數值
用法
<?php echo admin_branding(); ?>
從上面的功能,結果是 「實施例1」 但結果應該是 「實施例2」,因爲現在用的「的add_filter覆蓋它的值「
PHP代碼
/* Custom function with its custom value */
function custom_admin_branding(){
return "Example 2";
}
/* Default function with its default value */
function admin_branding($arg = ''){
if($arg){ $var = $arg();
} else { $var = "Example 1"; }
return $var;
}
/* Call User function which override the function value */
function add_filter($hook = '', $function = ''){
call_user_func($hook , "$function");
}
/* Passing function value to override and argument as custom function */
add_filter("admin_branding", "custom_admin_branding");
一個很好的例子是WordPress如何使用自定義的add_filter函數。
你問如何取消設置功能? – Tim 2014-10-18 22:02:04
實際上,我正在嘗試使用像WordPress這樣的add_filter函數。 – 2014-10-18 22:06:46
爲什麼你認爲你正在覆蓋「它的價值」('admin_branding()')? 'call_user_func'會立即調用'custom_admin_branding'而不是替換任何東西。 – Niko 2014-10-18 22:08:05