###実現したいこと
WordPressで作りたい関数があります。
引数($value
)のユーザが存在するかどうかを判定する関数です。
###試したこと
考えたのは下記のis_user
という関数です。
たとえば「ID2」の人の存在判定について、このように使います。
if( is_user( 'id', '2' )==false ){ echo 'そのユーザIDは存在しません。' }
下記がその関数で、配列かそうでないかに応じてループさせているつもりですが…これが判定してくれません。
$type
にはid
かname
が入り、その値を$value
に入れ、$value
のユーザが存在するかどうかを判定したいという意図です。
PHP
1function is_user( $type, $value ) { 2 if( is_array($value) ){ 3 foreach ( $value as $v ) { 4 if($type=='name'){ 5 $user_data = get_user_by( 'name', $v ); 6 } 7 else if($type=='id'){ 8 $user_data = get_user_by( 'id', $v ); 9 } 10 if ($user_data){ 11 return true; 12 } 13 else{ 14 return false; 15 } 16 } 17 } 18 else{ 19 if($type=='name'){ 20 $user_data = get_user_by( 'name', $value ); 21 } 22 else if($type=='id'){ 23 $user_data = get_user_by( 'id', $value ); 24 } 25 if ($user_data){ 26 return true; 27 } 28 else{ 29 return false; 30 } 31 } 32}
書いてみて思ったのが、true
かfalse
かが、foreach
の中で何度もreturn
で返ってくるという処理はどうなのか気になったということもあります。
その他間違ったところ、もっと直した方がいいところなどを、教えて頂けませんでしょうか。
ご回答宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/20 14:57 編集
2019/05/20 15:30
2019/05/20 15:45
2019/05/21 02:36