В этом примере показано, как на главной странице идет иерархический вывод заголовков и линков к каждой родительской странице ее подчиненных страниц. В примере показано как это мной осуществлено. Сайт на WordPress.
Vseskupki: Шаблон страницы «Главная страница» (template-homepage.php)
<div class="container-004">
<div class="container-004-content">
<div class="container-004__items">
<?php
$pages = get_pages( [
'sort_order' => 'ASC',
'sort_column' => 'post_title',
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'meta_key' => '',
'meta_value' => '',
'authors' => '',
'child_of' => 0,
'parent' => 0,
'exclude_tree' => '6',
'number' => '',
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish',
] );
foreach( $pages as $post ){
?>
<div class="container-004__items-itm">
<div class="container-004__items-itm-logo">
<?$logo = get_field('logo');?>
<img class="container-004__items-itm-logo-img" src="<?=$logo;?>" alt="">
</div>
<div class="container-004__items-itm-info">
<div class="container-004__items-itm-info-name">
<div class="container-004__items-itm-info-nameblock">
<img class="container-004__items-itm-info-name-img" src="<?=$logo;?>" alt="">
<a class="container-004__items-itm-info-name-link" href="<?php echo get_the_permalink() ?>"><?php echo get_the_title() ?></a>
</div>
<div class="container-004__items-itm-info-name-feedback">
<a class="container-004__items-itm-info-name-feedback-link" href="">46 отзывов</a>
<p class="container-004__items-itm-info-name-feedback-star">★★★★★</p>
<p class="container-004__items-itm-info-name-feedback-rang">4.9</p>
</div>
</div>
<div class="container-004__items-itm-info-location">
<?php
$stati_children = new WP_Query(array(
'post_type' => 'page',
'post_parent' => get_the_id()
)
);
if($stati_children->have_posts()) :
while($stati_children->have_posts()): $stati_children->the_post();
?>
<div class="container-004__items-itm-info-location-itm">
<div class="container-004__items-itm-info-location-itm-adress">
<?$adress = get_field('adress');?>
<p class="container-004__items-itm-info-location-itm-adress-txt"><?=$adress;?></p>
</div>
<div class="container-004__items-itm-info-location-itm-metro">
<?php
$metro = get_field('metro');
foreach($metro as &$item) {
?>
<div class="container-004__items-itm-info-location-itm-metro-itm">
<img class="container-004__items-itm-info-location-itm-metro-img" src="/wp-content/themes/vseskupki/assets/images/metro.png" alt="">
<p class="container-004__items-itm-info-location-itm-metro-txt"><?=$item['station'];?></p>
</div>
<?php
}
?>
</div>
<div class="container-004__items-itm-info-location-itm-phone">
<?php
$phone = get_field('phone');
foreach($phone as &$item) {
?>
<div class="container-004__items-itm-info-location-itm-phone-itm">
<a class="container-004__items-itm-info-location-itm-phone-link" href="tel:<?=$item['phone_link'];?>"><?=$item['phone_number'];?></a>
</div>
<?php
}
?>
</div>
</div>
<?
endwhile;
endif; wp_reset_query();
?>
</div>
</div>
</div>
<?php
}
wp_reset_postdata();
?>
</div>
<div class="container-004__pagenation">
<a class="container-004__pagenation-link" href="">1</a>
<a class="container-004__pagenation-link" href="">2</a>
<a class="container-004__pagenation-link" href="">3</a>
<a class="container-004__pagenation-link" href="">...</a>
<a class="container-004__pagenation-link" href="">8</a>
<a class="container-004__pagenation-link" href="">9</a>
</div>
</div>
</div>
Так же приведу пример как вывести список дочерних страниц от определенного родителя.
Пример
$stati_children = new WP_Query(array(
'post_type' => 'page',
'post_parent' => get_the_ID()
)
);
if($stati_children->have_posts()) :
while($stati_children->have_posts()): $stati_children->the_post();
echo '<h2>'.get_the_title().'</h2>';
echo '<p>'.get_the_excerpt().'</p>';
echo '<p><a href="'.get_the_permalink().'">'.Подробнее.'</a></p>';
endwhile;
endif; wp_reset_query();