Wordpress loop: получить текущий счетчик постов внутри The Loop - PullRequest
7 голосов
/ 22 июля 2010

Когда я в Цикле, я хочу получить текущее количество сообщений.

Например, после каждых 3 постов я хочу вставить объявление.

Итак, как мне получить значение счетчика циклов?

Ответы [ 3 ]

19 голосов
/ 22 июля 2010

Вы можете использовать current_post член WP_Query экземпляра объекта, чтобы получить текущую после итерации;

while ( have_posts() ) : the_post();

    // your normal post code

    if ( ( $wp_query->current_post + 1 ) % 3 === 0 ) {

        // your ad code here

    }

endwhile;

Обратите внимание, что если вы используете это внутри функции, вам нужно глобализировать $wp_query.

0 голосов
/ 05 февраля 2014

Не знаю, почему, но предложенные методы не сработали для меня, мне пришлось прибегнуть к следующему

$loop_counter = 1;
while( $query->have_posts() )
{
    //Do your thing $query->the_post(); etc

    $loop_counter++;
}

Безопаснее, чем играть с глобалами, если вы спросите меня.

0 голосов
/ 22 июля 2010

Почему бы не увеличить переменную, а затем показывать ваши объявления при необходимости?

while(LOOP)
    echo $i%3==0 ? $ad : '';
    $i++
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...