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' );
のように記述します。
function __return_true() {
return true;
}
__return_zero
0
を返すもので、使用時はadd_filter( 'example_filter', '__return_zero' );
のように記述します。
function __return_zero() {
return 0;
}
__return_empty_array
空の配列を返すもので、使用時はadd_filter( 'example_filter', '__return_empty_array' );
のように記述します。
function __return_empty_array() {
return array();
}
__return_null
NULL
値を返すもので、使用時はadd_filter( 'example_filter', '__return_null' );
のように記述します。
function __return_null() {
return null;
}
__return_empty_string
空の文字列を返すもので、使用時はadd_filter( 'example_filter', '__return_empty_string' );
のように記述します。
function __return_empty_string() {
return '';
}