2012-04-13 10 views
1

Ich möchte alle meine Beiträge in jeder Kategorie basierend auf seinem Ergebnis (mit GD Sterne-Plugin) absteigend machen. Ich habe in der Plugin-Seite herausgefunden, dass ich query_posts("gdsr_sort=rating"); in meiner Archiv.php-Datei hinzufügen muss.wordpress query_posts in Archiv Ausgabe

So ist dies, wie mein archive.php sieht mit query_posts hinzugefügt:

<?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(); ?> 

Und es verwirrte Dinge, also versuchte ich query_posts('posts_per_page=5'); Die gute Sache ist, dass es 5 Artikel pro Seite angezeigt wird. Die schlechte Sache ist, dass es die falschen Artikel zeigt. Um genau zu sein, egal welche Unterkategorie ich gehe, es werden die gleichen Artikel angezeigt, die nicht in dieser Unterkategorie sein sollen. Wenn Sie zur nächsten Seite gehen, werden die gleichen Artikel angezeigt. Diese Artikel, die überall angezeigt werden, gehören nur zu einer Unterkategorie. Ich sollte auch erwähnen, dass ich wie 10 Kategorien habe und jeder von ihnen hat 2-3 Unterkategorien ..

Ich bin hier ratlos, hoffe, Sie verstanden meine Erklärung.

+0

Aus welcher Kategorie möchten Sie Ihre Artikel? – SuperNoob

Antwort

2

Anstatt eine neue Abfrage zu erstellen, können Sie die Wordpress-Abfrage ändern. Ich weiß nicht über das Plugin, das Sie verwenden, aber ich denke, das sollte funktionieren:

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'); 

Sie können das in Ihrer functions.php setzen. In archive.php können Sie query_posts entfernen

+0

Arbeitete wie ein Charme. Vielen Dank :) – St0ne

Verwandte Themen