WordPress:シンプルに特定の値を返したいときに使えるクイックリターン関数(__return_false, __return_null など)

WordPress:シンプルに特定の値を返したいときに使えるクイックリターン関数(__return_false, __return_null など)

ご質問いただいたのでそのご返答も兼ねて。
WordPressで特にこれといった処理などはせずに、単純にある特定の値を返したいという場面で使える「クイックリターン関数」について紹介します。

ブログを見ていただいた方から、ある処理を行う際に別のブログではadd_filter( 'example_filter', 'example_function' )と記述してexample_functionで呼び出した関数内にretun false;という形で紹介していたのに、このブログではadd_filter( 'example_filter', '__return_false' )と1行のみで紹介していて、動きは一緒なのにこの記述の違いは何なのかというご質問をいただきました。

この'__return_false'というのは、フックを使う際などに単純にある特定の値を返したい場面で使えるクイックリターン関数というWordPressで用意されている関数のひとつで、これを用いることによって同じ処理でもシンプルに1行で済ませることができます。

ご質問いただいた'__return_false'の場合は、動きとしては見たままでfalseを返してくれるものになり、WordPressのコアでは下記のようなコードで用意されています。

function __return_false() {
  return false;
}

なので、例えばreturn false;するためだけであれば、わざわざ下記サンプルコード上部のように関数を作らなくとも下部のようにシンプルに記述することができます。

add_filter( 'example_filter', 'example_function' );
function example_function() {
  return false;
}

↓ ↓ ↓

add_filter( 'example_filter', '__return_false' );

また、クイックリターン関数は__return_false以外にも以下のようなものが用意されており、これらを自身で確かめたい場合は/wp-includes/functions.php(大体4900行目辺り)で確認することができます。

__return_true
trueを返すもので、使用時はadd_filter( 'example_filter', '__return_true' );のように記述します。

/wp-includes/functions.php

function __return_true() {
  return true;
}
__return_zero
0を返すもので、使用時はadd_filter( 'example_filter', '__return_zero' );のように記述します。

/wp-includes/functions.php

function __return_zero() {
  return 0;
}
__return_empty_array
空の配列を返すもので、使用時はadd_filter( 'example_filter', '__return_empty_array' );のように記述します。

/wp-includes/functions.php

function __return_empty_array() {
  return array();
}
__return_null
NULL値を返すもので、使用時はadd_filter( 'example_filter', '__return_null' );のように記述します。

/wp-includes/functions.php

function __return_null() {
  return null;
}
__return_empty_string
空の文字列を返すもので、使用時はadd_filter( 'example_filter', '__return_empty_string' );のように記述します。

/wp-includes/functions.php

function __return_empty_string() {
  return '';
}

Close the search window,
please press close button or esc key.