Php 显示用户';她最后一次访问wordpress

Php 显示用户';她最后一次访问wordpress,php,wordpress,Php,Wordpress,我试图显示用户的上次访问,而不是上次登录。 我遇到了这段代码,我现在意识到,它完全按照预期工作,显示最后一次登录,这不是我想要显示的,因为例如,我自己已经登录了一个多星期,当显示这段代码时,它给人的印象是我已经一个多星期没有在网站上了(上次看到:),这是不正确的。 我正在尝试显示上次在网站上看到用户的时间。 有什么想法吗 您正在一个钩子“wp\u login”上运行代码,当然,这个钩子只在您登录时运行,而不是每次刷新页面时运行。每次登录用户刷新站点时,休闲代码都应起作用: <?php

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


您正在一个钩子“wp\u 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'; ?>


每次用户刷新站点中的页面时,此脚本都会更新上次看到的快捷码日期。

效果很好。谢谢你的回答和解释。不知何故,它显示了“48年前最后一次看到”。导航离开后,它会更新并显示正确的值。