私はこのプラグイン Facebook-AWD プラグインを使用したいと思います。
私のサイトは2つの登録方法を提供します(通常とFacebookで登録)。ユーザーは自分の役割を選択する必要があります。つまり、買い手および売り手です。
通常の登録ではこれを簡単に実現できますが、ユーザーがFacebook-AWDに登録することを選択した場合、プラグインはユーザーをデフォルトの役割で登録するように設定されているため、役割を選択できません。
'role'=>get_option('default_role');
今後のアップデートのためにプラグインのコアを保持するために、フックまたはアクション、またはフィルタをプラグインに追加することで、これをどのように達成できますか?
public function register_user()
{
$username = sanitize_user($this->me['first_name'], true);
$i = '';
while (username_exists($username . $i)) {
$i = absint($i);
$i++;
}
$username = $username . $i;
$userdata = array(
'user_pass' => wp_generate_password(),
'user_login' => $username,
'user_nicename' => $username,
'user_email' => $this->me['email'],
'display_name' => $this->me['name'],
'nickname' => $username,
'first_name' => $this->me['first_name'],
'last_name' => $this->me['last_name'],
'role' => get_option('default_role')
);
$userdata = apply_filters('AWD_facebook_register_userdata', $userdata);
$new_user = wp_insert_user($userdata);
//Test the creation
if (isset($new_user->errors)) {
wp_die($this->Debug($new_user->errors));
}
if (is_int($new_user)) {
//send email new registration
wp_new_user_notification($new_user, $userdata['user_pass']);
return $new_user;
}
return false;
}
プラグインはこの操作のエントリポイントを提供します。
$ userdata = apply_filters( 'AWD_facebook_register_userdata'、$ userdata);
だから、今、あなたはこの例で架空の関数を埋めるの問題です:
add_filter( 'AWD_facebook_register_userdata', 'user_role_wpse_87863', 10, 1 );
function user_role_wpse_87863 ( $userdata )
{
$userdata['role'] = your_way_of_getting_the_role();
return $userdata;
}
関連する