wordpress - 跟踪用户数据更新时 - 挂钩无法正常工作

时间:2015-08-30 08:47:43

标签: php wordpress hook

在网站的前端,可以通过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 );

}

1 个答案:

答案 0 :(得分:5)

我可以立即看到这个代码有两个问题。

首先,do_action用于创建操作,而不是挂钩。要加入它们,您需要使用add_actionSee here

其次,据我所知,wp_update_user不是一个可以挂钩的有效动作。我认为你要找的是updated_{$meta_type}_metaSee here

所以它更像是:

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

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