posts_nav_link zieht mehrere Post-Typen ein

Ich habe eine archive-regularproducts.php eingerichtet, die so aussieht:
PHP:

   //content goes here     //content goes here    

Wie Sie sehen können, wpsc-product ich auch den wpsc-product Beitragstyp auf dieser Archivseite ab, die Posts werden zwar gut angezeigt, aber da ich unendlich scroll verwende, wenn es unten ankommt und die nächste Seite von Posts einliest, Es zieht doppelte wpsc-product Posts, also habe ich mich gefragt, ob es einen Weg gab, entweder die posts_nav_link function nur für den regularproducts Post-Typ zu haben, oder eine allgemein bessere Art, das zu erreichen, was ich erreichen regularproducts . Irgendwelche Vorschläge würden sehr geschätzt werden!

Solutions Collecting From Web of "posts_nav_link zieht mehrere Post-Typen ein"

query_posts sollte um jeden Preis vermieden werden. Das ist nicht nur meine Betonung, sondern auch der Codex

Hinweis: Diese function ist nicht für Plugins oder Themes vorgesehen. Wie später erläutert, gibt es bessere, performantere Optionen zum Ändern der Hauptabfrage. query_posts () ist zu einfach und problematisch, um die Hauptabfrage einer Seite zu ändern, indem sie durch eine neue Instanz der Abfrage ersetzt wird. Es ist ineffizient (führt SQL-Abfragen erneut aus) und wird unter bestimmten Umständen fehlschlagen (besonders häufig, wenn es um die Paginierung von Posts geht).

Sie sollten sich diesen Beitrag auch näher ansehen

Sie sollten WP_Query in dieser Instanz verwenden.

 < ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> //content goes here < ?php endwhile; endif; ?> < ?php wp_reset_postdata(); ?> < ?php $my_query = new WP_Query( 'post_type=wpsc-product'); ?> < ?php if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); ?> //content goes here < ?php endwhile; endif; ?> < ?php wp_reset_postdata(); ?>  

Die automatische Paginierung wird standardmäßig nur auf die Hauptabfrage angewendet. Somit funktioniert die Seitennummerierung bereits so, wie sie sollte. Das Problem liegt wahrscheinlich in der Art, wie Sie InfiniteScroll verwenden.

Mit IS können Sie den Container und die Objekte über einen von Ihnen festgelegten Selektor auswählen. Ich würde vorschlagen, die Hauptabfrage in ein div zu verpacken und mit Infinite Scroll darauf zu zielen. Verwenden Sie ein Plugin oder implementieren Sie IS manuell?

 
< ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> //content goes here < ?php endwhile; endif; ?>
< ?php wp_reset_query(); ?> < ?php query_posts( 'post_type=wpsc-product'); ?> < ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> //content goes here < ?php endwhile; endif; ?> < ?php wp_reset_query(); ?>

Dann sollten Sie den Container ” #main und alle Post-Elemente innerhalb dieses Containers #main .