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 сообщения, таким образом я задавался вопросом, был ли путь к любому, имеют posts_nav_link функция для только regularproducts отправьте тип или обычно лучший способ достигнуть того, чего я пытаюсь достигнуть. Любые предложения значительно ценились бы!

0
09.06.2014, 02:01
2 ответа

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>
1
20.02.2020, 00:07

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

Позволяет Вам быть нацеленными на контейнер и объекты селектором, который Вы указываете. Я предложил бы перенести основной запрос в отделение и предназначаться для этого с Прокруткой Бога. Вы используете плагин, или реализация вручную?

<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 и все объекты сообщения в нем.

0
20.02.2020, 00:07
  • 1
    query_posts не должен использоваться. Вот объяснение –  Pieter Goosen 09.06.2014, 10:08
  • 2
    , я очень знаю об этом, но это не в рамках этого вопроса, поскольку это не причина проблемы. –  engelen 09.06.2014, 10:10
  • 3
    Даже при том, что это не в пределах вопроса, необходимо упомянуть это OP и исправить код соответственно. Помните, если кто-то найдет Ваш ответ через Google, то они будут использовать Ваше решение, не зная, что это неправильно. Намерение ответа не является примерно решением определенного аспекта и игнорированием других заблуждений, который не находится в –  Pieter Goosen 09.06.2014, 10:15
  • 4
    объема, я не соглашаюсь. При ответе на общие вопросы, применимые к нескольким или общим проблемам, это довольно важно для не, только помогают OP, но также и гарантируют, что, если исходный код корректируется, он также корректируется, чтобы придерживаться стандартов кодирования и, в целом, считаться "хорошим кодом". В этом случае, однако, проблема, скорее всего, ограничена просто случаем OP, и фокусирующийся на второстепенных вопросах как это будет только служить для создания ответов менее понятными. В этом случае помощь OP более важна, чем обеспечение понимания в надлежащем использовании WordPress. –  engelen 09.06.2014, 10:38
  • 5
    Что щекочет меня, если Вы знаете, что OP использует функцию, которая не должна использоваться, или функция, которая обесценивается, или кодируют, которые имеют синтаксическую ошибку, Вы не исправили бы его, потому что это вне объема его исходного вопроса? –  Pieter Goosen 09.06.2014, 10:46

Теги

Похожие вопросы