Wordpress 如何显示已登录用户已阅读帖子

Posted

技术标签:

【中文标题】Wordpress 如何显示已登录用户已阅读帖子【英文标题】:Wordpress how to show logged in users that they have read a post 【发布时间】:2021-11-03 08:00:11 【问题描述】:

有没有办法显示已登录的用户已经阅读过帖子?

即使有“标记为已读”按钮?

【问题讨论】:

【参考方案1】:

将以下代码添加到您的主题 function.php 文件中,以保存所有用户读取的帖子数据

add_action('wp_head', function () 
   $user_id = get_current_user_id();
   # if user is logged in 
   if (!empty($user_id)) 
       $post_id = get_the_ID();
       $user_read_post = get_user_meta($user_id, 'read_posts', true);
       if (empty($user_read_post)) 
          $user_read_post = array(); // if there is no read post 
        

        if (!empty($post_id)) 
            array_push($user_read_post, $post_id);
        
        $user_read_post = array_unique($user_read_post);
        update_user_meta($user_id, 'read_posts', $user_read_post);
    
);

如何检索用户阅读的帖子

 $user_id = get_current_user_id();
 # if user is logged in 
   if (!empty($user_id)) 
       $user_read_post = get_user_meta($user_id, 'read_posts', true);
 

【讨论】:

以上是关于Wordpress 如何显示已登录用户已阅读帖子的主要内容,如果未能解决你的问题,请参考以下文章

如何在作者的 Wordpress 仪表板上隐藏已发布的选项卡?

如何在 Wordpress 上显示登录用户的评论(仅)

根据登录名显示用户名

自定义WordPress博客主题时总显示:会话已过期,请重新登录。您不会被带离此页。

wwholastlastbonlastlog显示登录命令用法

如何向用户显示已输入新评论