如何在WordPress中显示当前用户的点赞帖子?

时间:2018-12-11 作者:Gazi

我在我的wordpress主题上使用了一个类似ajax的讨厌帖子系统。

当用户喜欢帖子时,需要更新或添加一些帖子元,如下所示:

if( $post_like == "like" ){
                update_post_meta($post_id, "likes_count", ++$meta_likes_count);
                                //add_post_meta($current_user_id, "liked_by_user_id", ++$meta_liked_by_user, false);
                                add_post_meta($post_id, "liked_by_user_id", get_current_user_id(), false);// Fixed - getting correct user id 
            } else {
                update_post_meta($post_id, "dislikes_count", ++$meta_dislikes_count);
            }
当用户喜欢帖子时,代码会自动在帖子中添加一个新的自定义字段,名为liked_by_user_id 使用user ID 作为一个值。

在这里之前,一切都按照我的要求进行$args 不要在自定义页面模板中列出当前用户喜欢的帖子。

$args = array(
  \'meta_key\' =>\'liked_by_user_id\',
  \'post_type\'  => \'post\', //or a post type of your choosing
  \'posts_per_page\' => 30,
  \'orderby\' => \'date\',
  \'paged\' => $paged,
  //\'post__in\' => $current_user,
  \'relation\' => \'OR\',
  \'meta_query\' =>
          array(
              \'key\' => \'liked_by_user_id\',
              \'value\' => $current_user,
              \'type\' => \'numeric\',
              \'compare\' => \'>\'
          ),

  );
我不知道我做错了什么,但页面为所有用户显示了相同的视频。

有人能帮我吗?非常感谢。

1 个回复
SO网友:Greg Winiarski

请尝试下面的$参数,您现在使用的参数是查找liked\\u by\\u user\\u id>而不是当前用户id。

$args = array(
    \'post_type\'  => \'post\', 
    \'posts_per_page\' => -1,
    \'orderby\' => \'date\',
    \'meta_query\' => array(
        array(
            \'key\' => \'liked_by_user_id\',
            \'value\' => get_current_user_id()
        )
    ),
);
以上$参数应返回当前登录用户喜欢的所有帖子。

相关推荐

WP_Query & Duplicate entries

我目前正在使用此代码,以便成功且无问题地获取我网站的最新三篇帖子:$posts = get_posts( array( \'numberposts\' => 3 ) ); 但我想切换到wp\\u查询。我尝试了一个简单的wp\\U查询调用,以显示我网站上发布的最新3篇文章:$args = array( \'posts_per_page\' => 3 ); $posts = new WP_Query( $args ); 并使用此PHP代码提供此wp\\U