Просмотров: 1 484

Что такое цикл WordPress.

Одно из понятий, с которым приходится столкнуться при разработке или изменении тем WordPress  —  это понятие цикла.

019_infinity_time_loop_continius_continium_cycle-256

Понимать, что это такое и как этот самый цикл работает, очень важно.

Давайте попробуем сейчас разобраться с этим понятием.

Что же вообще такое цикл?

В программировании под циклом понимают последовательное выполнение каких-либо операций до того момента, пока не будет выполнено какое-либо условие.

В WordPress циклы используются для того, чтобы отображать информацию на сайте.

С помощью запросов к базе данных WordPress получает информацию, которая должна отобразиться на странице.

Чаще всего эта информация содержится в массиве. Как все это выглядит, мы разбирались здесь.

Каким образом всю эту структурированную в виде массива информацию можно представить в наглядном и удобном виде на сайте? Для этого и используются циклы.

Специальные функции в ядре WordPress будут последовательно перебирать все значения получившегося массива информации до тех пор, пока этот массив не закончится.

Во время такого перебора WordPress выводит какие-либо данные в нужном месте.

Теперь давайте посмотрим, как это все реализуется технически. Давайте рассмотрим, код, который отвечает за создание цикла.

Для того, чтобы увидеть его, достаточно открыть один из файлов вашего шаблона (например, index.php, page.php или single.php).

Вот конструкция PHP-кода, которая открывает цикл:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

После этой конструкции идут функции и код, который выводит содержимое, которое перебирается циклом, в нужном месте.

Следующая конструкция закрывается цикл.

<?php endwhile; else: ?>
<p><?php _e('К сожалению, по Вашему запросу ничего не найдено.'); ?></p>
<?php endif; ?>

Читать конструкцию для создания циклов в WordPress можно следующим образом:

Если запрос к базе данных содержит какие-либо данные ( if ( have_posts() )), начинаем последовательно перебирать их друг за другом, пока массив не закончится (while ( have_posts() ) : the_post(); ?>).

Если запрос к базе данных не вернул никаких результатов, то будет выведено сообщение: «К сожалению, по Вашему запросу ничего не найдено».

Такой перебор данных и есть тот самый цикл.

Теперь давайте остановимся на каждой функции в этой конструкции более подробно.