Intereting Posts
используя $ wpdb для получения персонализированного типа сообщения с термином Вызов неопределенной функции wp_insert_user () Когда выполняется следующий запуск задания Cron (время от времени)? Ссылки на страницы не отображаются на сообщениях single.php на устройствах iOS Получить количество сообщений из результатов текущей страницы Отображать следующие / Предыдущие при циклическом создании пользовательского архива пост-типа? Окно «Редактировать окно» прокручивается вверх, после обновления сообщения Заказывать сообщения в соответствии с определенным пользователем порядком для метазначений? Отображать пользовательский тип сообщения в иерархическом порядке с помощью get_terms Как использовать настраиваемые шаблоны страниц в теме, которая скрывает параметр шаблона страницы? wordpress – добавьте настраиваемый раздел admin с полями для имени, адреса, города, состояния и загрузки фотографий создать пользовательскую страницу для сбора статистических данных и отчетности Минимальный минимум для включения в файл PHP для использования функций WP? Короткие коды, не работающие в вызове AJAX Отменить регистрацию меню Nav из Child-Theme

запрос, если страница не имеет дочернего

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

Я не могу получить запрос, который позволит мне сделать что-то вроде этого:

if (Page has childs) { do this } else { display this } 

Любая помощь?

Заранее спасибо

Solutions Collecting From Web of "запрос, если страница не имеет дочернего"

 $args = array( 'post_status' => 'publish', 'post_parent' => $post_id ); $children = get_posts( $args ); if( count( $children ) > 0 ) { //has children } else { //does not have children } 

Документы: get_posts()

Это также должно позволить вам иметь доступ к данным детей, если вам это нужно. Если вам нужны дополнительные параметры в $args (например, тип сообщения), обязательно включите их.

Как насчет того, чтобы использовать что-то вроде этого (при условии, что у вас есть способ получить идентификатор страницы, которую вы проверяете для дочерних страниц):

$children = get_pages( array( 'child_of' => $post->ID ) );

Однако, если вы хотите получить сразу прямых потомков, см. M0r7if3r, или это тоже сработает:

$children = get_pages( array( 'child_of' => $post->ID, 'parent' => 0 ) );

И затем проверьте, что с помощью count($children) с инструкцией if:

 if( count( $children ) > 0 ) { // has children (and grandchildren if not using the 'parent' param) } else { // does not have children }