WordPressは __return_zero()が0を、__return_true()がtrueなど、シンプルに値を返すだけの関数がいくつか組み込まれています。
これらは、どのような場面で使用するのかを紹介しようと思う。
値返すだけの組み込み関数
値返すだけの組み込み関数は、/wp-includes/functions.phpで定義されています。
表に抜粋してみます。
関数名 | 戻り値 |
---|---|
__return_true() | true |
__return_false() | false |
__return_zero() | 0 |
__return_empty_array() | array() |
__return_null() | null |
__return_empty_string() | '' |
関数の構造
/wp-includes/functions.phpを見ると、__return_zero()は次のようなコードが定義されています。
- function __return_zero() {
- return 0;
- }
単純に0を返しているだけです。
他の関数も、同じように値を返しているだけです。
関数の使い道:勘違い
自作のコードで数値の0が欲しいとき、この関数を使用するとかっこいいような気がします。
- function my_func(){
- // 何らかのコード
- $val = function __return_zero();
- // 何らかのコード
- }
盛大な勘違いです。
普通に0をセットしましょう。
- function my_func(){
- // 何らかのコード
- $val = 0;
- // 何らかのコード
- }
関数の使い道:本命
add_filter()などで、0やtrueなどの値を返す関数を指定したいとき使用します。
例えば、次のコードでdns-prefetchの//s.w.orgを削除しています。
- add_filter( 'emoji_svg_url' , '__return_null');
__return_null()を知らなかったら、次のように自作関数を用意していたはずです。
- add_filter( 'emoji_svg_url' , 'my_emoji_svg_url');
- function my_emoji_svg_url(){
- return null;
- }
おかげで、少しだけ楽ができました。
__return_で始まる関数は、WordPressのコア部分でもadd_filter()で使用されています。
元々コアで使用するのが目的だったのでしょうが、既に存在しているのだから、自分で作らずに使ってしまった方がいいですね。
関連記事:
■Googleで他サイト検索
■僕がおススメするアフィリエイト教材
■マーケティング施策ツール