使用WordPress Filters时,最常见的操作就是返回true或者false,通常我们要创建一个函数添加到某个filter中,在函数中最终返回true或false,如果除了返回值以外没有其它操作,可以借助WordPress内置的便捷函数进行。
目录
改变filter的返回值
例如,控制admin bar是否显示,正常情况下应该这样写
function my_function_admin_bar(){
return false;
}
add_filter( 'show_admin_bar' , 'my_function_admin_bar');如果借助WordPress内置的函数,可以精简成下面这样
add_filter( 'show_admin_bar', '__return_false' );
__return_false是WordPress内置的返回值函数,如果一个filter函数除了返回值意外不做任何其它操作,推荐用第二种方法来写,更清晰,更有意义。
WordPress内置的返回值函数
__return_false — 返回布尔型false __return_true — 返回布尔型true __return_empty_array — 返回空的PHP数组 __return_zero — 返回整数0 __return_null — 返回null
这些函数定义在wp-includes/functions.php中,原型如下所示
/**
* Returns true.
* @since 3.0.0
*/
function __return_true() {
return true;
}
/**
* Returns false.
* @since 3.0.0
*/
function __return_false() {
return false;
}
/**
* Returns 0.
* @since 3.0.0
*/
function __return_zero() {
return 0;
}
/**
* Returns an empty array.
* @since 3.0.0
*/
function __return_empty_array() {
return array();
}
/**
* Returns null.
* @since 3.4.0
*/
function __return_null() {
return null;
}
参考文章
《what is __return_false in filters》