web-dev-qa-db-ja.com

Adminがユーザーロールを変更したときに機能を実行する

Adminがユーザーのユーザー役割を変更したときに、どのように機能を実行できますか?

私は2つのユーザロールがあります:1つは agent であり、もう1つは client です。

管理者が client のユーザーロールを agent に変更したときに、特定の機能を実行する必要があります。

この関数では、 ユーザーID を取得することで、ユーザーのすべてのコンテンツとメタフィールドを取得する必要があります。

5
ron r

set_user_role フックを使用することができます。これはユーザーロールが変更されたときにのみ起動します。

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

}, 10, 3 );

これをプロファイルの更新に限定したい場合は、次のものを使用できます。

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

} );
9
birgire