gpt4 book ai didi

php - 显示用户上次访问 wordpress

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:33 24 4
gpt4 key购买 nike

我正在尝试显示用户的上次访问,而不是上次登录。我遇到过这段代码,我现在已经意识到它完全按预期工作,以显示上次登录,这不是我想要显示的,因为例如,我自己已经登录超过一个星期,当它显示时,它给人的印象是我已经有一个多星期没有访问该网站(最后上线:),这是不正确的。我正在尝试显示上次在网站上看到用户的时间。有什么想法吗?

http://www.wpbeginner.com/plugins/how-to-show-users-last-login-date-in-wordpress/

<?php 
/**
* Capture user login and add it as timestamp in user meta data
*
*/

function user_last_login( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );


function wpb_lastlogin() {
$last_login = get_the_author_meta('last_login');
$the_login_date = human_time_diff($last_login);
return $the_login_date;
}

add_shortcode('lastlogin','wpb_lastlogin');
?>

<?php echo 'Last seen: '. do_shortcode('[lastlogin]') .' ago'; ?>

最佳答案

您正在钩子(Hook)“wp_login”上运行您的代码,它当然只会在您登录时运行,而不是在您每次刷新页面时运行。每次登录用户刷新站点时,以下代码都应该起作用:

<?php 
/**
* Capture timestamp of active user
*
*/

function user_last_seen() {
if ( is_user_logged_in() ) {
update_user_meta( get_current_user_id(), 'last_seen', time() );
} else {
return;
}

}
add_action( 'wp_footer', 'user_last_seen', 10 );


function wp_lastseen() {
$last_seen = get_the_author_meta('last_seen');
$the_last_seen_date = human_time_diff($last_seen);
return $the_last_seen_date;
}

add_shortcode('lastseen','wp_lastseen');
?>

<?php echo 'Last seen: '. do_shortcode('[lastseen]') .' ago'; ?>

每次用户刷新您站点中的页面时,此脚本都会更新最后一次看到的短代码日期。

关于php - 显示用户上次访问 wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49612543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com