我想根据分数(使用GD星级评分插件)让每个类别中的所有帖子都下降。
我在插件网站上发现,我需要在archive.php文件中添加query_posts("gdsr_sort=rating");
。
这就是我的archive.php在添加query_posts后的样子:
<?php query_posts("gdsr_sort=rating"); ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class() ?>><li>
<h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
<?php if ( has_post_thumbnail() ) : ?>
<a href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a>
<?php endif; ?>
<?php the_content('Read more...'); ?>
</li>
</div>
<?php endwhile; ?>
<div class="clear"></div>
<?php wp_reset_query(); ?>
它搞砸了,所以我尝试使用query_posts('posts_per_page=5');
好消息是它每页显示5篇文章。
坏的是它显示错误的文章。确切地说,无论我去哪个子类别......都会显示相同的文章,这些文章不应该属于该子类别。当你转到下一页时......正在显示相同的文章。这些随处可见的文章只属于1个子类别。
我还要提一下,我有10个类别,每个都有2-3个子类别。
我在这里不知所措,希望你理解我的解释。
答案 0 :(得分:2)
您可以修改wordpress查询,而不是创建新查询。我不知道你使用的插件,但我认为这应该有效:
function change_archive_query( $query ) {
if ( $query->is_main_query() && $query->is_archive()) {
$query->set( 'gdsr_sort', 'rating' );
}
}
add_action( 'pre_get_posts', 'change_archive_query' );
你可以把它放在你的functions.php中。在archive.php中,您可以删除query_posts