Во-первых, он проверяет, есть ли сообщения для отображения на этой конкретной странице, используя:
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, и все готово.