Почему используется if с циклом while в WordPress?

2 нояб. 2017 г., 10:36:34
Просмотры: 132
Голосов: 1
if(have_posts()): // Проверяем, есть ли записи
    while(have_posts()): // Пока есть записи
        the_post(); // Устанавливаем текущую запись
        the_content(); // Выводим содержимое записи
    endwhile;
endif;

Без условия if следующий код также работает нормально:

while(have_posts()): // Пока есть записи
    the_post(); // Устанавливаем текущую запись
    the_content(); // Выводим содержимое записи
endwhile;

Спасибо.

0
Все ответы на вопрос 2
0

Вам нужен только if ( have_posts() ) : в том случае, если, как следует из названия функции, вам нужно сделать что-то другое, если постов нет. Например, отобразить сообщение "Посты не найдены".

Но это понадобится только в шаблонах, которые могут не содержать постов, таких как архивы и страницы поиска. Для шаблонов отдельных записей и страниц условие if не требуется.

2 нояб. 2017 г. 10:51:17
0

Вы правы, это не обязательно.

Однако часто удобно оборачивать вывод постов в <div class="posts"> или что-то подобное, и вы можете сделать вывод этого div условным, основываясь на том, будет ли в нем фактически какой-то контент. На мой взгляд, это делает стилизацию чище, так как вы не получите <div class="posts"></div>, если постов нет. Вам не понадобится использовать селекторы :empty в CSS, чтобы скрыть этот пустой div, поскольку его вообще не будет в DOM.

2 нояб. 2017 г. 10:50:38