不确定您是否仍在寻找答案,因为自提出此问题以来已经有7个多月了,但我希望完成同样的事情,并且使用您上面突出显示的函数,我想出了下面的代码,当将其放置在循环中时,效果非常好。
首先,如果尚未声明全局$current\\u用户:
<?php global $current_user; wp_get_current_user(); ?>
然后,在使用任何必要的条件创建$args以获取帖子之后,在循环内部,将帖子的输出包装在简单的if检查中:
<?php while (have_posts()) : the_post();
// declaring $post_author on each post to check if the post\'s author is friends with the current user, and if so, displays the post.
$post_author = get_the_author_meta( \'ID\' );
$current_user_friends = friends_check_status($current_user->ID, $post_author);
if($current_user_friends):
?>
// ... all of your HTML and PHP calls to post fields here
<?php endif;
endwhile; ?>
这将隐藏当前用户与帖子作者不是朋友的任何帖子。这样做的唯一缺点是,在拉取帖子之前不会进行检查,因此如果您希望显示10篇帖子,但用户对拉取的10篇帖子不是朋友,那么他们会看到0。在为输出创建帖子数组之前,肯定需要想出一种方法来运行检查,以确保用户获得尽可能多的帖子来显示。。。