我的目标是创建一个插件来计算用户登录的次数。但是现在看来,update_user_meta()似乎没有用,或者我没有正确使用它。我只是尝试使用user_id值更新自定义变量,以便我知道我在user_meta中存储了一个值。
<?php
function user_login_count2($redirect_to, $request, $user) {
global $user;
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;
if (isset($user_id)) {
if ( get_user_meta($user_id, 'login_count2', true) ){
//$login_count2 = get_user_meta($user_id, 'login_count2', true);
//$login_count2++;
//update_user_meta($user_id, 'login_count2', $login_count2);
$user_id_test = get_user_meta($user_id, 'user_id_test', true);
update_user_meta($user_id, 'user_id_test', $user_id);
}else{
add_user_meta($user_id, 'login_count2', '1');
}
}else{
return $redirect_to;
}
}
add_filter('login_redirect', 'user_login_count2', 10, 3);
function show_login_counts() {
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;
$user_id_test = get_user_meta($user_id, 'user_id_test', true);
if(isset($_GET['ict']) && $_GET['ict'] == 1){
echo $user_id;
echo $user_id_test;
}
}
add_action('wp_footer', 'show_login_counts');
?>
答案 0 :(得分:1)
使用所有注释掉的代码来跟踪代码有点困难,而且我不确定调用各种用户函数的目的是变量。
我将如何做到这一点:
add_action('wp_login', 'record_user_login', 10, 2);
function record_user_login($user_login, $user){
// Get current user ID from the user object
$user_id = $user->ID;
// Get previous login count
$login_count = get_user_meta($user_id, 'login_count', true);
// Increment login count if it exists, or set it to 1
if (int_var($login_count)){
$new_count = $login_count++;
}
else {
$new_count = 1;
}
// Update login count in user meta
update_user_meta($user_id, 'login_count', $new_count);
}