web-dev-qa-db-fra.com

Quel crochet si les informations de profil de l'utilisateur sont mises à jour?

Je recherche le crochet qui se déclenche lorsque les informations d'un utilisateur sont mises à jour. Plus précisément, je souhaite mettre à jour un message avec la valeur d'un champ de profil personnalisé (dans mon exemple info) chaque fois que le profil de cet utilisateur est mis à jour.

J'ai essayé le hook profile_update, mais il ne semble pas se déclencher:

add_action( 'profile_update', 'add_info_to_post' );
function add_info_to_post( $user_id ) {

        $info=get_user_meta($user_id,'info',true);

        //get all items of that user
        $args=array(
                'author' => $user_id,
                'post_type' => 'item',
        );

        $items=get_posts($args);            
        foreach ($items as $item){
        update_post_meta($item->ID,'user_info',$info);
        }
}

Des suggestions comment faire ce travail?

EDIT: Peut-être devrais-je mentionner que j'accède aux pages de profil des utilisateurs via le backend.

5
SPi

De Codex: API de plug-in - Action Reference - profile_update :

Remarque: Ce crochet n'est pas utilisé sur les pages d'édition/de profil de l'utilisateur. Pour vous connecter aux pages de modification de l'utilisateur admin, utilisez le hook edit_user_profile_update qui se trouve dans /wp-includes/user-edit.php à la place.

De (Codex: API de plug-in - Référence de l'action - edit_user_profile_update } _:

Ce raccordement ne se déclenche que lorsqu'un utilisateur consulte la page de profil d'un autre utilisateur (et non la leur). Si vous souhaitez appliquer votre hook à TOUTES les pages de profil (y compris l'utilisateur actuel), vous devez également utiliser le hook personal_options_update .

5
Nicolai