Intereting Posts

posts_nav_link вытягивает несколько типов сообщений

У меня есть archive-regularproducts.php , который выглядит так:
PHP:

  <?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(); ?> <nav id="page_nav"> <?php posts_nav_link( ' ', ' ', ' '); ?> </nav> 

Как вы можете видеть, я также запрашиваю wpsc-product сообщения wpsc-product на этой странице архива, сообщения отображаются хорошо, но поскольку я использую бесконечный прокрутки, когда он добирается до нижней части и тянет на следующую страницу сообщений, он затягивает дубликаты сообщений wpsc-product , поэтому мне было интересно, есть ли способ иметь функцию posts_nav_link только для типа regularproducts или, как правило, лучший способ достичь того, чего я пытаюсь достичь. Любые предложения будут ценны!

query_posts следует избегать любой ценой. Это не только мой акцент, но и код

Примечание. Эта функция не предназначена для использования плагинами или темами. Как поясняется ниже, есть более эффективные, более эффективные варианты для изменения основного запроса. query_posts () является слишком упрощенным и проблематичным способом изменения основного запроса страницы путем замены его новым экземпляром запроса. Он неэффективен (повторно запускает SQL-запросы), и в некоторых случаях он будет неудачным (особенно часто при работе с разбивкой по страницам).

Вы также должны посмотреть этот пост для дальнейшего объяснения

Вы должны использовать WP_Query в этом экземпляре.

 <?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(); ?> <nav id="page_nav"> <?php posts_nav_link( ' ', ' ', ' '); ?> </nav> 

Автоматическая разбивка на страницы применяется по умолчанию к основному запросу. Таким образом, разбиение на страницы уже работает так, как должно. Вероятно, проблема заключается в том, как вы используете InfiniteScroll.

IS позволяет настроить таргетинг на контейнер и элементы по указанному вами селектору. Я бы предложил обернуть основной запрос в div и таргетинге, что с Infinite Scroll. Вы используете плагин или реализуете ИС вручную?

 <div id="main"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> //content goes here <?php endwhile; endif; ?> </div> <?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(); ?> <nav id="page_nav"> <?php posts_nav_link( ' ', ' ', ' '); ?> </nav> 

Затем вы должны настроить таргетинг на контейнер #main и все элементы сообщения внутри него.