如果参与者发布了2个或更多帖子,则以其他方式显示隐藏

时间:2013-03-15 作者:user27309

如果投稿人已经发表了两篇或更多的文章,我会在单篇文章中最多显示其中的5篇。php使用此代码

<?php echo do_shortcode(\'[latestbyauthor show="5"]\'); ?>
我有一篇介绍代码的文章(同一作者的其他帖子)

如果投稿人真的发表了2篇或更多的文章,这很好,但如果他只有一篇文章,这完全没有用。

我正在寻找一种通过检查发布的帖子总数来隐藏代码之前的文本的方法,如果是1则隐藏,如果是2则显示。

有可能吗?谢谢

2 个回复
最合适的回答,由SO网友:Pat J 整理而成

比使用$wpdb 类将使用count_user_posts(). 例如:

$min_posts = 2;
if( count_user_posts( $post->post_author ) >= $min_posts ) {
    // display the user\'s posts
}
这假设您在循环中,或者至少$post 是WordPress Post对象。

【以上编辑日期2013-03-19 CDT上午11:30】

请注意,如果您试图统计自定义帖子类型(以及可能的页面,尽管我不确定),则需要使用一些$wpdb 魔法,但在Codex页面上有一个代码示例count_user_posts() (以上链接)。

SO网友:David Gard

您可以运行一个查询来获取每个作者的帖子数量数组,然后检查该数组。这是未经测试的,因此可能需要tweeking(谷歌搜索“mysql count occurrents of value”也会产生一些结果。

$query = \'SELECT post_author, COUNT(*) as count FROM wp_posts GROUP BY post_author ORDER BY count DESC\'
$author_count = $wpdb->get_col($query);
然后,当您检查该作者的帖子数量时-

if($author_count($author_id)) > 1) : // Where $author_id is the ID of the Author being shown
    // Do whatever here...
endif;
最后,如果出现错误,可能需要添加global $wpdb; 就在$query = ... 线

结束

相关推荐

How to split authors?

我有三位作者,我们每个人都在谈论同一个主题,但观点不同。我想我们每个人都有3页,只显示每个作者的帖子。比如有一个名为AuthorOne的页面,只有第一作者的帖子,等等。我该怎么做?