WordPress как на ладони
wordpress jino

rewind_posts() WP 1.5

Перематывает цикл в начало.

Используется для того, чтобы повторно запустить Цикл WordPress (the loop).

Хуков нет.

Возвращает

Ничего не возвращает.

Использование

<?php rewind_posts(); ?>

Примеры

#1. Использование одного цикла 2 раза

Пример того как применять rewind_posts(), чтобы использовать один и тот же цикл 2 раза на странице:

<?php 
// Используем цикл первый раз
if( have_posts() ){ while( have_posts()){ the_post(); ?>
	// выводим информацию о посте
<?php } } ?>

	<!-- любой код -->

<?php 
// Используем цикл второй раз
// перематываем цикл на начало, чтобы еще раз использовать `have_posts()`
rewind_posts();

if( have_posts() ){ while( have_posts()){ the_post(); ?>
	<!-- выводим информацию о посте -->
<?php } } ?>

Код rewind posts: wp-includes/query.php WP 4.8.2

<?php
function rewind_posts() {
	global $wp_query;
	$wp_query->rewind_posts();
}

Cвязанные функции

Из метки: query (запрос)

Еще из раздела: Запросы

rewind_posts 3 комментария
  • Такой пример нашёл и в документации, но был крайне удивлён smile Ведь разработчики же сами прописали, что have_posts() использует rewind_posts(), а следовательно, по окончании своей работы цикл перемотается в начало автоматически:

    public function have_posts() {
    	if ( $this->current_post + 1 < $this->post_count ) {
    		return true;
    	} elseif ( $this->current_post + 1 == $this->post_count && $this->post_count > 0 ) {
    		do_action_ref_array( 'loop_end', array( &$this ) );
    		// Do some cleaning up after the loop
    		$this->rewind_posts();
    	}
    	$this->in_the_loop = false;
    	return false;
    }
    Ответить2.7 года назад #
  • У вас опечатка в примере "heve_posts()".

    Ответить3 месяца назад #

Здравствуйте, !

Ваш комментарий