Wann wird wp_set_password () aufgerufen oder wie wird ein Passwort erfasst?

Haftungsausschluss: Ich bin mir der damit verbundenen Sicherheitsprobleme bewusst. Dies ist nicht für die Produktion.

Immer wenn ein neuer Benutzer registriert wird oder ein Passwort in WordPress (neu) gesetzt wird, versuche ich auch dieses Passwort zu erfassen, zu verschlüsseln und in der Tabelle wp_usermeta zu speichern.

Ich hatte Erfolg, profile_update ich mich an die Aktion profile_update , um dies zu erreichen, aber der obige process funktioniert nur, wenn ein Passwort von der Profilseite geändert wird und keine neuen Benutzerregistrierungen berücksichtigt werden.

 add_action( 'profile_update', 'save_encrypted_passwords_to_usermeta' ); function save_encrypted_passwords_to_usermeta( $user_id ) { if ( isset( $_POST['pass1'] ) ) { $password = $_POST['pass1']; update_user_meta( $user_id, 'password', $password ); } } 

Ich habe nach der Pluggable-function wp_set_password() , um dies zu erreichen, und habe dieses muplugin erstellt, das überhaupt nicht zu funktionieren scheint.

 function wp_set_password( $password, $user_id ) { global $wpdb; $hash = wp_hash_password( $password ); $wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activation_key' => ''), array('ID' => $user_id) ); update_user_meta( $user_id, 'password', $password ); wp_cache_delete($user_id, 'users'); } 

Ich wp_set_password , wp_set_password wird immer aufgerufen, wenn ein Passwort erstellt oder eingestellt wird, also bin ich mir nicht sicher, warum meine Pluggable function Override überhaupt nicht funktioniert.

Solutions Collecting From Web of "Wann wird wp_set_password () aufgerufen oder wie wird ein Passwort erfasst?"

Nein, ich würde erwarten, dass wp_user_update das war, was gebraucht wird, aber ich finde deine Motive zweifelhaft und denke nicht an einen vernünftigen Nutzen für das, was du tun willst

Wenn Sie diesen Pfad jedoch wirklich durchgehen möchten, verwenden Sie den pre_user_pass Filter.

Ich würde auch bemerken, dass es einen Grund gibt, warum Passwörter eher als Hashes als verschlüsselt gespeichert werden und Ihr Code keinen Verschlüsselungsmechanismus hat