繁体   English   中英

wordpress-跟踪用户数据更新的时间-钩子不起作用

[英]wordpress - track when user data updated - hook not working

在站点的前端,可以通过AJAX完成编辑/更新用户详细信息的功能。

我想跟踪上次用户数据更新的时间,并为此编写了一个简单的函数。 但是,这是行不通的,我什至不确定函数是否正在执行。 我试过使用以下挂钩,但是没有用。

update_user_meta,updated_user_meta,profile_update

谁能看到我在做什么错?

//add date / time to user meta data when details are updated

add_action( 'update_user_meta', 'updated_user_details' );

function updated_user_details(){

    $user_id = get_current_user_id();

    $datetime = date('Y-m-d H:i:s');

    update_user_meta( $user_id, 'updated', $datetime );

}

我可以立即看到此代码有两点错误。

首先, do_action用于创建动作,而不是挂钩它们。 为了吸引他们,您需要使用add_action请参阅此处

其次,据我wp_update_userwp_update_user不是您可以加入的有效操作。 我认为您要查找的是updated_{$meta_type}_meta请参阅此处

因此,它将更像是:

add_action( 'updated_user_meta', 'updated_user_details' );
function updated_user_details($meta_id, $object_id, $meta_key, $_meta_value){

     $user_id = get_current_user_id();

    //check to see if 'updated' field exists
    $updated= get_user_meta($user_id, 'updated', TRUE);

    //if yes update date /time
    $datetime = date('Y-m-d H:i:s');

    update_user_meta( $user_id, 'updated', $datetime );
}

注意:这尚未经过测试,但应该给您一些想法和参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM