Intereting Posts
Как добавить новую вкладку в список сообщений администратора и обработать список результатов Как я могу перемещать / перенаправлять отдельные сообщения в блоге из одного блога в другой? Преобразование основной модификации в плагин Можно ли удалять сообщения об ошибках и автосохранения из базы данных? Цикл для сопоставления таксономических терминов для «связанных» постов? Как преобразовать плагин в функцию Получите Y идентификатор / объект случайных авторов Y с более чем X числом сообщений PGP-шифрование системных уведомлений Разница между мета-ключами с _ и без _ Форма поиска не работает на моем сайте Как управлять сотнями сайтов WordPress? После изменения корневого сайта, как это отразить для wp-admin? Как переместить автора Metabox в «Опубликовать» метаболизм? API WordPress.org – Получить плагины любимых плагинов Как настроить отдельную страницу сообщения

Использование WP_Query – как отображать что-либо, если нет результатов

Я использовал WP_Query для запроса и отображения событий. В некоторых случаях, однако, нет событий, которые нужно отобразить, и я хотел бы показывать дружеское сообщение, когда это происходит, вместо того, чтобы ничего показывать – но я не уверен, как это сделать. Если бы это был запрос mysql, я знал, что могу использовать if (mysql_num_rows ($ result) == 0), но я не думаю, что это работает с WP_Query. Есть ли что-то еще, что сработает?

Большое спасибо за любую помощь, которую вы можете мне дать.
Сара

Solutions Collecting From Web of "Использование WP_Query – как отображать что-либо, если нет результатов"

Итак, предположим, что $query – это ваш объект WP_Query. Т.е.

  $query = new WP_Query($some_query_args ); 

Затем вы можете настроить «цикл»,

  $query->get_posts(); 

Затем, чтобы проверить, есть ли какие-либо возвращенные результаты:

  if ( $query->have_posts() ) : //Use a While loop to show the results else: //No results, let's show a message instead. //This is how WordPress' twentyeleven theme does it, but you can format it how you like: ?> <article id="post-0" class="post no-results not-found"> <header class="entry-header"> <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> </header> <div class="entry-content"> <p><?php _e( 'Apologies, but no events were found.', 'twentyeleven' ); ?></p> </div> </article> <?php endif; 

Имейте в виду логику, она должна быть внутри php-тегов, а разметка HTML должна быть снаружи.

Отказ от ответственности: синтаксис может быть не все правильно, я его не тестировал. Но проверьте index.php TwentyEleven, чтобы узнать, что они делают.