2012-04-13 33 views
1

我想根據它的分數(使用GD星級插件)使每個類別中的所有帖子都下降。 我已經在插件網站找到了,我需要在我的archive.php文件中添加query_posts("gdsr_sort=rating");wordpress query_posts存檔問題

所以這是我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個categires,每個都有2-3個子類別。

我在這裏不知所措,希望你能理解我的解釋。

+0

您希望文章來自哪個類別? – SuperNoob 2012-04-13 01:26:03

回答

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

+0

工作就像一個魅力。謝謝 :) – St0ne 2012-04-13 04:19:55