как создать список дочерних страниц и использовать некоторые из их настраиваемых полей?

<p>у меня есть структура страницы, как это:</p><pre><code>-home -cars -volvo 640 - pics - info -porsche 911 - pics - info </code></pre><p>я хотел бы создать список автомобилей на странице автомобилей всех автомобилей (которые являются дочерними страницами автомобилей). как бы я это сделал? список в основном представляет собой подменю, которое должно отображать все машины в алфавитном порядке (обратите внимание, мне не нужны ссылки на "внуков" - фото, информация). мне также нужно получить данные настраиваемого поля с каждой страницы автомобиля и поместить их рядом со ссылкой на страницу ... это возможно?</p>

<p>вы можете использовать <code>get\_pages</code> для этого, например так:</p><pre><code><?php $args = array( 'post_type' => 'page', 'child_of' => 7, ); $postobj = get\_pages($args); foreach($postobj as $item){ $dir = get\_bloginfo('template\_directory'); // theme directory $title = $item->post\_title; $parent = $item->post\_parent; $id = $item->guid; $name = $item->post\_name; </code></pre><p>попав сюда, вы можете вытащить свои пользовательские поля и поместить их в переменные.</p><pre><code> $model_number = get_post_meta($item->id, 'model\_number', true); </code></pre><p>я бы использовал какое-то выражение <code>if</code> для построения этих верхних заголовков. например, вы можете сделать:</p><pre><code> if($model_number == true){ echo stuff; } else { echo other stuff; } } ?> это грубо, но я думаю, что это может проделать довольно долгий путь. по сути, вы программно создаете свои заголовки и возвращаете все для печати. ключ форматирует все и правильно настраивает ваши условия.

функция wp_list_pages() может предоставить вам список ваших дочерних страниц. однако получение данных настраиваемого поля с каждой страницы потребует отдельного запроса и немного больше работы. но вот начало:$args = array( depth => '1', child\_of => '123' ); wp\_list\_pages( $args ); </code></pre><p>это даст вам список ссылок на все дочерние страницы идентификатора страницы 123. спецификация <code>depth</code> также запрещает извлечение страниц внука.</p><p>как я уже говорил ранее, получить данные настраиваемого поля немного сложнее. сначала вам нужно получить идентификатор страницы каждой из ваших дочерних страниц (возможно, с помощью <code>query\_posts()</code>) и сохранить их в массиве. затем вы пройдете по этому массиву и по очереди получите данные настраиваемых полей с каждой страницы.</p><p>так что это выполнимо ... но я не могу предложить быстрое решение из головы.</p>