Intereting Posts
Как реализовать на этот раз php-код в Woking с моими сообщениями в WordPress Все URL-адреса имеют к ним добавленный «/ blog /». Как получить текст Alt вложений приложения? Опубликовать поиск, не смотря на название записи с момента обновления 4.4.2 Предотвратить создание WordPress при загрузке изображений medium_large 768px? Запретить отображение настраиваемого типа сообщений в пользовательских меню Показывать только разбиение на страницы, когда количество сообщений превышает шоу Подтверждение электронной почты Paypal Woocommerce PHP help get_template_directory + PHP include Как создать галерею с динамическими изображениями из URL-адресов? Расширение темы Twenty Eleven 2 пользовательских пост-типа и 1 таксономия Рассчитать процент сообщений по категориям Вызов admin ajax с использованием абсолютного URL-адреса? Относительные разрывы URL (frontend ajax) Присвоение настраиваемого типа сообщения настраиваемой странице

Задача счетчика, бесконечный цикл, когда post_per_page равна X

(Обновлено)

Я использую этот запрос для объединения div в мой слайдер главной страницы. Я использую счетчики, чтобы разделить 4 сообщения в слайдер, затем открыть новый слайдер и т. Д. Также счетчик для установки класса на каждый четвертый столбец (для исправления поля). Это отлично работало, пока я не захотел использовать аргумент post_per_page. Если я положил его на -1 или что-то, что можно было бы отделить на 4, я получаю бесконечный цикл, который петли во всех сообщениях до бесконечности.

Так. Довольно ясно, что моя проблема связана с счетчиками. Я сам не кодер и не скрепляю этот код из разных источников и с помощью всемогущего Интернета.

Вот как выглядит мой полный запрос:

<ul id="slider1"> <?php $args = array( 'post_type' => 'fastighet', 'posts_per_page' => -1, 'orderby' => 'ASC' ); ?> <?php $query = new WP_Query( $args ); ?> <?php if( $query->have_posts() ) : ?> <li class="4slide"> <?php $count = 0; ?> <?php while ($query->have_posts()) : $query->the_post(); $c++; if( $c == 4) { $style = 'thumbnail-fourth'; $c = 0; } else $style=''; ?> <div class="fastighet-thumbnail <?php echo($style) ?>" id="post-<?php the_ID(); ?>"> <div class="fastighet-thumbnail-image"> <a href="<?php the_permalink();?>"><?php the_post_thumbnail( 'admin-list-thumb', array( 'alt' => ''.get_the_title().'', 'title' => ''.get_the_title().'' )); ?></a> </div> <div class="fastighet-title"> <a href="<?php the_permalink();?>"><?php the_title(); ?></a> </div> </div> <!-- end .fastighet-thumbnail --> <?php $count++; if ( ( $count % 4 ) == 0 && $query->have_posts() ) { ?> <!-- if counter equals 4 then close the slide and open a new one --> </li> <li class="4slide"> <?php } endwhile; ?> </li> <?php endif; ?> <?php wp_reset_query(); ?> </ul> 

Кто-нибудь может понять, что в этом плохого? Как я могу изменить его, чтобы позволить мне использовать «posts_per_page», как я должен быть?

Solutions Collecting From Web of "Задача счетчика, бесконечный цикл, когда post_per_page равна X"

Удалите $posts = get_posts($args) ; не требуется, если вы вызываете WP_Query впоследствии.

Это старый, но я все равно добавлю ответ для будущих посетителей

Проблема в том, что $query->have_posts() также выполняет очистку и сброс всех сообщений, когда нет записей, оставшихся до цикла. Когда эта функция вызывается внутри основного цикла while как условие if, он перезапускает сообщения, а затем, когда он снова вызван во время условия, он начинает цикл снова с самого начала.

Чтобы решить эту проблему, используйте $query->current_post + 1 != $query->post_count внутри вашего условия if