Intereting Posts
Может формировать записи из формы WordPress, переходить в базу данных Пользовательское правило перезаписи для бэкэнда / администратора? Выражение SELECT неверно? Что нужно искать при создании функции импорта / экспорта? Получить данные формы ввода, размещенные пользователями Как остановить WordPress с помощью виртуального Robots.txt? Показать 10 новых сообщений для каждого значения пользовательской таксономии Как я могу показать другую тему для пользователей admin? WP 3.8+ слайд-шоу не отображается в сообщении с ajax Скрыть часть на базе single.php на авторе Массовое импортирование данных json в пользовательские поля (postmeta) Как изменить функцию в родительской теме через дочерние темы functions.php Оберните все изображения для записей внутри элемента div pre_get_posts запрос между двумя датами (дата, хранящаяся в пользовательских сообщениях мета) Как получить изображение вложения из сообщения и вывести его

Получить все идентификаторы страниц детей, включая родительский титул

Поэтому я получаю все идентификаторы детей, а также идентификатор родителя, чтобы показывать контент только для этой страницы и всех ее подстраниц. Это следующая функция, которую я создал, но задавался вопросом, есть ли лучший способ сделать это?

function get_all_pages( $page_title ) { $page = get_page_by_title( $page_title ); $pages = get_pages( array( 'child_of' => $page->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc' ) ); $array = array(); $array[] = array( 'ID' => $page->ID ); foreach( $pages as $page ){ $array[] = array( 'ID' => $page->ID ); } return $array; } $allpages = get_all_pages( 'Page Title' ); foreach( $allpages as $page ) { if( is_page( $page['ID'] ) ): // Show stuff only on these pages endif; } 

Solutions Collecting From Web of "Получить все идентификаторы страниц детей, включая родительский титул"

Вы сделали это с трудом. WP_Query может выполнять большую часть работы для вас.

 function get_all_pages($page_title) { $page = get_page_by_title($page_title); if (empty($page)) return array(); $children = new WP_Query( array( 'post_type' => 'page', 'post_parent' => $page->ID, 'fields' => 'ids' ) ); array_unshift($children->posts,"{$page->ID}"); return $children->posts; } $allpages = get_all_pages('Sample Page'); var_dump($allpages); 

Уже поздно, и я сон, но я думаю, что дублирует вашу функцию, за исключением того, что ваш код, без необходимости, создает вложенные массивы. Мой код дает вам «плоский» массив.