web-dev-qa-db-fra.com

Exécuter une fonction lorsque l'administrateur change le rôle de l'utilisateur

Comment puis-je exécuter une fonction lorsque l'administrateur modifie le rôle d'utilisateur d'un utilisateur?

J'ai deux rôles d'utilisateur: l'un est agent et l'autre est client .

Mon besoin est que lorsque admin change le rôle d'utilisateur de client en agent , je dois exécuter une fonction spécifique.

Dans cette fonction, je dois obtenir tous les champs de contenu et de méta de l'utilisateur en obtenant le user id .

5
ron r

Vous pouvez utiliser le set_user_role hook, qui ne se déclenchera que lorsque le rôle de l'utilisateur sera modifié:

add_action( 'set_user_role', function( $user_id, $role, $old_roles ) 
{
    // Your code ...

}, 10, 3 );

Si vous souhaitez limiter cela à une mise à jour de profil, vous pouvez utiliser:

add_action( 'set_user_role', function( $user_id ) 
{
    add_action( 'profile_update', function( $user_id )
    {
        // Your code here ...            
    } );

} );
9
birgire