WordPressの開発を行う際に、フィルターフックやらアクションフックやらにフックして開発されると思うのですが、よく見る以下のような記述。
function origin_return_false() { return false; } add_filter( 'filter_name', 'origin_return_false' );
origin_return_false() という、false を返すためだけのオリジナル関数。実は新しく作る必要ないんです。
WordPress(WordPress4.9.6)には、○○を返すだけのテンプレートタグが、6つ備わっています。
[kusanagi@minkapi DocumentRoot]$ grep -irn 'function __return' * wp-includes/functions.php:4884:function __return_true() { wp-includes/functions.php:4899:function __return_false() { wp-includes/functions.php:4912:function __return_zero() { wp-includes/functions.php:4925:function __return_empty_array() { wp-includes/functions.php:4938:function __return_null() { wp-includes/functions.php:4953:function __return_empty_string() {
trueを返すだけのテンプレートタグ
__return_true() というテンプレートタグがあり、wp-includes/functions.php の4884行目から記載されています。
function __return_true() { return true; }
あるフィルターフックにフックし、trueを返したい場合、以下の1行を追加するだけで対応できます。
add_filter( 'filter_name', '__return_true' );
falseを返すだけのテンプレートタグ
__return_false() というテンプレートタグがあり、wp-includes/functions.php の4899行目から記載されています。
function __return_false() { return false; }
あるフィルターフックにフックし、falseを返したい場合、以下の1行を追加するだけで対応できます。
「【WordPress】メタボックスの位置を全ユーザー統一する」でもちゃっかり使用しています。
add_filter( 'filter_name', '__return_false' );
0を返すだけのテンプレートタグ
__return_zero() というテンプレートタグがあり、wp-includes/functions.php の4912行目から記載されています。
function __return_zero() { return 0; }
あるフィルターフックにフックし、0を返したい場合、以下の1行を追加するだけで対応できます。
add_filter( 'filter_name', '__return_zero' );
空の配列を返すだけのテンプレートタグ
__return_empty_array() というテンプレートタグがあり、wp-includes/functions.php の4925行目から記載されています。
function __return_empty_array() { return array(); }
あるフィルターフックにフックし、空の配列を返したい場合、以下の1行を追加するだけで対応できます。
add_filter( 'filter_name', '__return_empty_array' );
nullを返すだけのテンプレートタグ
__return_null() というテンプレートタグがあり、wp-includes/functions.php の4938行目から記載されています。
function __return_null() { return null; }
あるフィルターフックにフックし、nullを返したい場合、以下の1行を追加するだけで対応できます。
add_filter( 'filter_name', '__return_null' );
空の文字列を返すだけのテンプレートタグ
__return_empty_string() というテンプレートタグがあり、wp-includes/functions.php の4953行目から記載されています。
function __return_empty_string() { return ''; }
あるフィルターフックにフックし、空の文字列を返したい場合、以下の1行を追加するだけで対応できます。
add_filter( 'filter_name', '__return_empty_string' );