wordpress - 跟踪用户数据何时更新 - 挂钩不起作用
wordpress - track when user data updated - hook not working
在站点的前端,可以通过 AJAX 编辑/更新用户详细信息。
我想跟踪上次更新用户数据的时间,并为此编写了一个简单的函数。然而,这是行不通的,我什至不确定该功能是否正在执行。我尝试使用以下挂钩,但 none 有效。
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
(See here)
其次,据我所知,wp_update_user
不是您可以挂钩的有效操作。我想你要找的是 updated_{$meta_type}_meta
(See 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 );
}
注意:这还没有经过测试,但应该会给你一些想法和一些参考。
在站点的前端,可以通过 AJAX 编辑/更新用户详细信息。
我想跟踪上次更新用户数据的时间,并为此编写了一个简单的函数。然而,这是行不通的,我什至不确定该功能是否正在执行。我尝试使用以下挂钩,但 none 有效。
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
(See here)
其次,据我所知,wp_update_user
不是您可以挂钩的有效操作。我想你要找的是 updated_{$meta_type}_meta
(See 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 );
}
注意:这还没有经过测试,但应该会给你一些想法和一些参考。