Цикл Wordpress - PullRequest
       6

Цикл Wordpress

0 голосов
/ 07 ноября 2010
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

Пока он использует while(have_posts()), я чувствую, что это бесполезно. Предположим, что у него нет условия while, первым if(have_posts()), чтобы проверить блок, есть ли пост Если поста нет, программа выходит из цикла. если есть сообщение, тогда выполните the_post(). Любые советы будут оценены.

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Во-первых, он проверяет, есть ли сообщения для отображения на этой конкретной странице, используя:

if(have_posts())

если они есть, они будут перебирать все сообщения, используя:

while(have_posts())

Сразу после этого он извлекает данные поста, используя:

the_post();

Что касается самого синтаксиса, он использует так называемую троичную операцию (здесь CMIIW).

Для более подробного объяснения вы можете прочитать о цикле на WordPress Codex. Вот небольшое объяснение, взятое с этой страницы:

Как только WordPress закончит загрузку заголовка блога и перейдет в шаблон, мы переходим к нашему посту Loop. Метод have_posts () просто вызывает функцию $ wp_query-> have_posts (), которая проверяет счетчик цикла, чтобы узнать, остались ли какие-либо записи в массиве записей. И the_post () вызывает $ wp_query-> the_post (), который продвигает счетчик цикла и устанавливает глобальную переменную $ post, а также все глобальные данные post. Как только мы исчерпали цикл, have_posts () вернет false, и все готово.

1 голос
/ 07 ноября 2010

Конструкция цикла будет повторяться и повторяться. Конструкция типа

while(have_posts())

будет повторяться до тех пор, пока не будет больше сообщения. Таким образом, его возвращаемое значение не всегда одинаково. Это помогает повторять содержимое цикла снова и снова до тех пор, пока не прекратится публикация, когда have_posts () возвращает ложное значение для цикла while для остановки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...