Можете ли вы помочь мне понять, как изменить данный код на PHP для получения только прямых вложенных страниц, а не всех подряд?
Ваши вопросы не полностью понятны без примера существующего PHP-кода, который вы хотите изменить. Однако, предположим, что вы хотите извлечь прямых потомков определенной страницы в WordPress. В этом случае вам следует использовать WP_Query или get_pages с указанием аргумента 'child_of'.
Хотя вы не предоставили код, который нужно изменить, я все равно предлагаю пример того, как это может быть сделано в WordPress:
```php
// ID родительской страницы
$parent_id = 1;
$args = array(
'child_of' => $parent_id,
'parent' => $parent_id,
);
$pages = get_pages( $args );
foreach( $pages as $page ) {
echo $page->post_title;
}
```
Вместо '1' укажите ID страницы, подстраницы которой вы хотите получить. Этот код получит только прямые (ближайшие) подстраницы указанной страницы.
Важно: 'child_of' получает всех потомков, включая внуки и т.д., а 'parent' - только прямых потомков. Чтобы получить только прямые подстраницы, вам нужно использовать именно 'parent'.
Опция 'numberposts' => -1 позволяет рекурсивно получить все страницы, являющиеся подстраницами заданной. Если вы не укажите параметр родителя, вернутся только те страницы, для которых parent_id равен ID указанного родителя. Для остальной информации обратите внимание на код ниже. Имейте в виду, что $id в данном случае равна 1. Если у заданной страницы нет дочерних страниц, программа выведет соответствующее сообщение.
```php
$id = 1;
$config = [
'parent' => $id,
'post_type' => 'page',
// 'numberposts' => -1,
'post_status' => 'publish',
];
$child = get_pages($config);
if($child) {
foreach($child as $page) {
echo $page->ID;
}
} else {
echo 'У этой страницы нет дочерних страниц.';
}
```
Если вы раскомментируете строку '// 'numberposts' => -1', функция get_pages вернет все подстраницы независимо от их уровня вложенности. Если эта строка останется закомментированной, функция вернет только непосредственные подстраницы указанного родителя.