wake-up-neo.net

Wie deaktiviere ich die Benutzerregistrierung für die Standardbenutzerrolle des Abonnenten?

Ich habe es mit gefälschten Benutzerregistrierungen auf meiner Website zu tun. Da ich WooCommerce verwende, habe ich eine benutzerdefinierte Anmeldeseite, die Benutzer mit "Kunde" als Benutzerrolle generiert. Alle gefälschten Benutzer registrieren sich jedoch über wp-login.php, wodurch ein Benutzer mit der Rolle "Abonnent" generiert wird.

Ist es möglich, den Benutzergenerierungsprozess irgendwie zu deaktivieren (wahrscheinlich innerhalb von wp_insert_user()), wenn versucht wird, einen Benutzer mit der auf Abonnent festgelegten Rolle zu registrieren? Die nächste Aktion, die ich finden konnte, ist user_register, die unmittelbar nach der Erstellung des Benutzers ausgelöst wird. Daher könnte ich den Benutzer löschen, wenn die Rolle ein Abonnent ist. Dies möchte ich jedoch tun, bevor der Benutzer überhaupt erstellt wird.

Auch die meisten Benutzerdaten werden gefiltert, nicht jedoch die Benutzerrolle :(

2
passatgt

Es gibt vielleicht eine elegantere Möglichkeit, dies zu tun, aber von einem kurzen Blick auf den Code aus scheint es ziemlich einfach zu sein, die entsprechende Option auf der Anmeldeseite einfach zu überschreiben:

add_action( 'login_init', function () {
    add_action( 'pre_option_users_can_register', '__return_null' );
} );
1
Rarst