一直在寻找解决方案几个小时但没有找到解决方案 我试过使用以下代码
[
("hello", "1");
("hello", "2");
("hello", "3");
("hello", "4");
("hello2", "2");
("hello2", "5");
("hello2", "3");
("hello2", "9");
("hello3", "1");
("hello3", "12");
("hello3", "35");
("hello3", "46")
]
但我发现wp_login动作挂钩仅在用户手动登录时触发(写入用户名和密码并单击登录),如果他自动登录则不会触发...
我尝试过的另一件事是这段代码
function user_last_login( $user_login, $user ){
update_user_meta( $user->ID, '_last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
但这个人也不做这项工作...... 非常棒,有人可以提供解决这个问题的方法
答案 0 :(得分:0)
function user_last_login( $user_login, $user ){
update_user_meta( $user->ID, '_last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
对于您尝试的上述功能,您必须在需要最后登录值的位置使用以下行。
get_user_meta( $user->ID, '_last_login', true );
答案 1 :(得分:0)
由于您需要时间戳来更新每次用户访问页面(而不仅仅是在他们登录时),wp_login
挂钩显然不起作用。相反,您可以挂钩init
,它在每个页面加载时运行:
// Update time stamp
function set_user_last_active() {
if ( is_user_logged_in() ) {
update_user_meta( get_current_user_id(), '_last_login', time() );
}
}
add_action( 'init', 'set_user_last_active' );
然后您可以使用以下方式获取时间戳:
get_user_meta( get_current_user_id(), '_last_login', true );