我创建了一个自定义查询,以从自定义帖子类型中提取所有帖子,按评论计数排序。这是您的常规自定义查询:
<?php
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wposts.post_status = \'publish\'
AND wposts.post_type = \'Tutorials\'
ORDER BY wposts.comment_count DESC
";
$tutorialposts = $wpdb->get_results($querystr, OBJECT);
?>
<?php if ($tutorialposts): ?>
<?php global $post; ?>
<?php $i = 0; ?>
<?php foreach ($tutorialposts as $post): ?>
<?php $i++; ?>
<?php setup_postdata($post); ?>
<h2><?php echo $i ?>: <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"> <?php the_title(); ?></a></h2>
<?php endforeach; ?>
<?php endif; ?>
它添加了一些代码来对帖子进行编号。但我删除了这段代码,同样的问题仍然存在。它实际上做了它应该做的!事实上,它对做它应该做的事情非常兴奋,以至于它做了两次。
还有,如果有人能告诉我如何解析这段代码,这样它只显示查询检索到的前10篇文章,那就太好了。但我自己可能会想出来,那只是我有点懒。
我真的只想知道为什么它会拉每个帖子并显示两次o.0