首页 > 解决方案 > 在角色更改时添加/更新 user_meta

问题描述

当用户的角色发生变化时,我正在尝试将当前日期保存为用户元数据。我对这段代码不满意,但看不出哪里出错了。非常感谢任何指针!

function user_role_update( $user_id, $new_role ) {
    add_user_meta( $user_id, 'roleupdated', current_time( 'mysql' ) 
);
}

add_action( 'set_user_role', 'user_role_update', 10, 2 );

标签: phpwordpresshookuser-roles

解决方案


我发现问题是 Justin Tadlock 的成员插件不使用“set_user_role”挂钩,但您可以使用“add_user_role”或“remove_user_role”挂钩(取决于您的需要)。我将代码更改为“add_user_role”,因为这足以满足我的需求,并且现在可以正常工作。

function user_role_update( $user_id, $role ) {
        add_user_meta( $user_id, 'roleupdated', current_time( 'mysql' ) );
}

add_action( 'add_user_role', 'user_role_update', 10, 2 );

推荐阅读