Intereting Posts
Фильтры на the_content с плагинами, страницами и коротким кодом Проблема с виджетами боковой панели, которые не отображаются, когда я выполняю пользовательские запросы Получение, обеспечение и кэширование данных из внешнего источника WordPress 3.2 – Проблема с редакторами WYSIWYG в настраиваемом типе сообщений? Множественная база базового слизняка на странице архива категорий Проблема с получением фильтра single_template – я хочу обслуживать другой файл single.php для сообщений в определенной категории Категории и теги не работают! Как обновить ядро ​​WordPress или темы и по-прежнему работать с моими дочерними темами Странные символы в заголовке, если они содержат "" Dequeue script, но по-прежнему используйте wp_localize_script для передачи vars WordPress не отображает файл CSS Авто-предложить отображать метаданные, но не включать их при нажатии Сообщения не проходят правильно Загружать и выполнять javascript из тела Перенаправить домой на другую страницу с помощью htaccess

Использование 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, чтобы узнать, что они делают.