我目前被卡在一个点,在这里我正在使用自定义代码覆盖函数值,其中“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