have_posts() WP 1.5
Проверяет есть ли у текущего запроса WP результаты для вывода, т.е. есть ли в наличии посты, которые можно вывести для текущей страницы. Условный тег.
В конце Цикла WordPress, функция автоматически возвращает метку, что запрос снова полный и готов для вывода, т.е. автоматически использует функцию: rewind_posts().
Хуков нет.
Возвращает
true/false. falsе, если результатов для вывода нет и true, если есть что выводить.
Использование
if( have_posts() ){ // ... }
Примеры
#1. Определим есть ли записи для вывода
Следующий пример можно использовать, чтобы определить есть ли посты для вывода и если есть запустить цикл while и вывести их:
<?php if ( have_posts() ){ while ( have_posts() ){ the_post(); // код вывода } } else { echo wpautop( 'Постов для вывода не найдено.' ); } ?>
#2 Вызов have_posts() внутри Цикла WordPress
Вызов have_posts() внутри Цикла WordPress, означает бесконечный цикл. Смотрите пример:
while( have_posts() ){ the_post(); // Вывод поста if ( have_posts() ){ // Если это последний пост, цикл начнется заново // Делаем что-нибудь, если это не не последний пост } }
#2.1 Проверка есть ли еще посты в цикле
Если нужно проверить есть ли еще посты в текущем цикле, можно использовать следующую функцию. Функция будет возвращать:
- true - есть еще посты в запросе.
- false - выведен последний пост.
Использовать функцию more_posts() нужно будет вместо have_posts() из примера 2.
function more_posts() { global $wp_query; return $wp_query->current_post + 1 < $wp_query->post_count; }
Заметки
- Global. WP_Query. $wp_query WordPress Query object.
Список изменений
С версии 1.5.0 | Введена. |
Код have_posts() have posts WP 5.6
function have_posts() {
global $wp_query;
return $wp_query->have_posts();
}Cвязанные функции
Из метки: query (запрос)
Еще из метки: Условные теги (все)
- cat_is_ancestor_of()
- comments_open()
- email_exists()
- has_block()
- has_category()
- has_custom_header()
- has_excerpt()
- has_nav_menu()
- has_post_thumbnail()
- has_shortcode()
- has_tag()
- has_term()
- have_comments()
- in_category()
- in_the_loop()
- is_404()
- is_active_sidebar()
- is_admin()
- is_admin_bar_showing()
- is_archive()
- is_attachment()
- is_author()
- is_blog_admin()
- is_blog_installed()
- is_category()
- is_child_theme()
- is_comment_feed()
- is_customize_preview()
- is_date()
- is_day()
- is_dynamic_sidebar()
- is_embed()
- is_feed()
- is_front_page()
- is_header_video_active()
- is_home()
- is_local_attachment()
- is_main_query()
- is_month()
- is_multi_author()
- is_multisite()
- is_nav_menu()
- is_network_admin()
- is_new_day()
- is_page()
- is_page_template()
- is_paged()
- is_plugin_active()
- is_post_type_archive()
- is_post_type_hierarchical()
- is_preview()
- is_robots()
- is_search()
- is_single()
- is_singular()
- is_ssl()
- is_sticky()
- is_tag()
- is_tax()
- is_taxonomy_hierarchical()
- is_textdomain_loaded()
- is_time()
- is_trackback()
- is_user_admin()
- is_user_logged_in()
- is_year()
- pings_open()
- post_exists()
- post_password_required()
- shortcode_exists()
- taxonomy_exists()
- term_exists()
- term_is_ancestor_of()
- wp_attachment_is()
- wp_attachment_is_image()
- wp_doing_ajax()
- wp_doing_cron()
- wp_is_mobile()
- wp_is_post_autosave()
- wp_is_post_revision()
- wp_script_is()
Еще из раздела: Запросы
Еще из тегов шаблона: Записи: посты, страницы, ...
- body_class()
- get_post_format()
- get_post_time()
- get_the_date()
- next_image_link()
- next_post_link()
- next_posts_link()
- post_class()
- posts_nav_link()
- previous_image_link()
- previous_post_link()