使用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》