目次
call_user_func_array
PHP: call_user_func_array – Manualより。
call_user_func_array — パラメータの配列を指定してコールバック関数をコールする
使ったとこ
textareaに入力されたカンマ区切りのデータで、
- 全角スペース → 半角スペース
- 半角スペース → 削除
の行程を機能として関数に分け、都度配列を引数で渡す。
[php]
<?php
function __construct() {
$options = get_option( ‘post_notifier_settings’ );
$emails = explode( ‘,’, trim( $options[ ‘email_field’ ] ) );
call_user_func_array( array( $this, ‘check_email’ ), array( $emails ) );
………..
………..
}
/**
* @param $emails
* @return mixed
*/
public function check_email( $emails ) {
$e = new WP_Error();
$shaped_emails = array();
foreach( (array)$emails as $email ) {
$email = trim( mb_convert_kana( $email, ‘s’ ) );
if( empty( $email ) ) {
$email = get_option( ‘admin_email’ );
return $email;
} else {
$shaped_emails[] = $email;
}
if( ! is_email( $email ) ) {
$e->add(
‘error’,
__( ‘メールアドレスを確認してください。’ )
);
set_transient( ‘my-custom-admin-errors’, $e->get_error_messages(), 10 );
add_action( ‘admin_notices’, array( $this, ‘my_admin_notices’ ) );
}
}
return implode( ‘,’, $shaped_emails );
}
[/php]
便利っすな〜 🙂