web-dev-qa-db-ja.com

管理からのユーザー確認を無効にする方法?

私はマルチサイトネットワークを持っていて、アクセスが登録ユーザーに制限されているサイトの1つで、管理者だけがユーザーを作成できます。

私は新しいユーザーに送信された確認のEメールを取り除くように頼まれました、そして私はあなたがEメールをsendindせずにユーザーを追加するオプションを選択できることを知っています。

問題は、このオプションはスーパー管理者(私)だけが利用でき、通常の管理者は利用できないことです。

確認メールを送信せずに新しいユーザーを追加する方法はありますか?私は電子メールを取り除くことができますが、私はまた、アクティベーションリンクを削除する必要がある、私は自動的に追加されるユーザーが必要です。

私はフックを探していますが、私は何も役に立ちません、何かアイデアがありませんか?.

P.Sすべてのユーザーはバックエンドの Add new user メニューから追加されます。

5
Mario

実際にはこれをテストしていませんが、あなたが "noconfirmation"ボックスをチェックした場合、WPは実際にこのフィルタを使用します。

add_filter( 'wpmu_signup_user_notification', '__return_false' );
2
Tomas Buteler

私はコアファイルを編集せずにこれを行う方法を考え出したと思います。私は次のものを使って(最小限のテストで)うまく動くようになりました:

add_filter('wpmu_signup_user_notification', 'auto_activate_users', 10, 4);
function auto_activate_users($user, $user_email, $key, $meta){
  wpmu_activate_signup($key);
  return false;
}

チェックボックスはまだページ上にありますが、効果はありません。

余談ですが、私はwp_mail関数を上書きすることによって私のwordpressインストールのための電子メールを完全に無効にしました:

function wp_mail($to, $subject, $message, $headers = '', $attachments = array() ){
  return true;
}

そのため、何らかの形で、auto_activateがEメールを送信せずに機能することを許可している可能性があります。

1
William