Intereting Posts
Короткий код для мест WooCommerce – отображать дочерние категории продукта из определенного родителя Сбросить отмену в редакторе tinymce Автоматическая маркировка пользовательского типа сообщения Исключить категорию сообщений в шаблоне автора Отправленные сообщения, планирующие показать новые участники WP-DownloadManager – загрузка большинства запросов в неделю / месяц и т. Д. Как запросить пользователя зарегистрироваться при посадке на сайт, а затем автоматически удалить пароль пользователя при выходе из системы? Разрешения на загрузку файлов Случайная удаленная часть active_plugins таблицы DB wp_options Переименование пункта меню в разделе меню администратора для пользовательского типа сообщения? Отображать пользовательские типы сообщений по дате условно загрузить javascript и CSS для do_action () звонков из плагина загрузить больше сообщений по категориям Почему я получаю эту ошибку? Ошибка базы данных WordPress:

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

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

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

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 }