Нужно ли нам все еще включать "если (есть сообщения())" в шаблоны?


Я постоянно включаю эту логику в свой шаблон

if ( have_posts() ):
 //show content
else:
 //show content not found
endif;

Но в последнее время я начал сомневаться в его необходимости, WordPress обратится к 404.php когда сообщение не найдено, кажется, нет необходимости добавлять эту логику в обычные шаблоны, else никогда не сработает, не так ли?

 6
Author: Volker E., 2011-03-07

2 answers

Когда я смотрю на WP::handle_404(), Я думаю, что шаблон 404.php не будет загружен, даже если нет сообщений, если:

  • Мы находимся на главной странице
  • Это поиск
  • Это термин таксономии, который существует, но к нему не прикреплены записи (и он не выгружается на страницу)
  • Это существующий автор, который не написал ни одного сообщения (пока) (и его не выгружают на страницы)

Таким образом, в этих файлах шаблонов have_posts() может быть полезно.

 7
Author: Jan Fabry, 2011-05-05 07:31:24

Нет, в большинстве случаев это не нужно.

if ( have_posts() ) было бы полезно только на index.php файл, если у вас нет 404.php шаблон.

И даже в этом случае вы могли бы использовать вместо этого is_404().

 2
Author: scribu, 2011-03-07 12:16:19