J'ai créé ce hook pour récupérer le mot de passe de l'utilisateur lorsqu'il s'enregistre ou met à jour son laissez-passer. Je ne veux pas que mon client touche wordpress core, donc je comptais utiliser un hook dans wp-includes/user.php. Tout cela vient de cet autre article comme je ne peux pas trouver une autre meilleure solution
Mon problème est que le hook est appelé mais que les variables sont vides.
function encrypt_password_function($pass, $id){
global $wpdb;
$encrypted=sha1($pass);
$wpdb->query($wpdb->prepare("UPDATE wp_users SET iphone_pass = %s WHERE ID = %d",array($encrypted, '10')));
}
function encrypt_password() {
do_action('encrypt_password');
}
add_action('encrypt_password', 'encrypt_password_function', 1);
Ok, je peux passer des variables au crochet mais je le faisais mal. Le code devrait être:
function encrypt_password_function($pass, $id){
global $wpdb;
$encrypted=sha1($pass);
$wpdb->query($wpdb->prepare("UPDATE wp_users SET iphone_pass = %s WHERE ID = %d",array($encrypted, '10')));
}
function encrypt_password($var1, $var2) {
do_action('encrypt_password',$var1, $var2);
}
add_action('encrypt_password', 'encrypt_password_function', 1,2);