【问题标题】:Add/update user_meta on change of role在角色更改时添加/更新用户元
【发布时间】:2018-05-22 00:47:13
【问题描述】:

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

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 );

【问题讨论】:

  • 你怎么知道数据没有被保存?你是在别处展示它,你是直接看数据库吗?
  • 我直接在数据库中查找!
  • 太棒了!其次,您发布的代码functions.php在哪里?
  • 感谢您抽出宝贵时间 Max,但我已经设法解决了这个问题!我正在使用 Justin Tadlock 的 Members 插件,它不使用 set_user_role 挂钩。设法在插件的支持论坛中找到完全相同的问题。 wordpress.org/support/topic/action-hook-when-role-changes
  • 很高兴听到这个消息!

标签: php wordpress hook user-roles


【解决方案1】:

我发现问题在于 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 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2014-01-28
    • 2021-12-06
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多