Ошибка в цикле вывода дочерних страниц wordpress
Всем привет, друзья подскажите по такой ситуации. Делаю натяжку верстки, и на одной из страниц выводятся дочерние страницы. (на странице факультет выводятся все кафедры). В чем сложность. В верстке наименование классов кафедры прописано div class=name-1, name-2 и т.д. вот такой цикл у меня.
<?php
$page_children = new WP_Query(array(
'post_type' => 'page',
'post_parent' => get_the_ID()
)
);
if($page_children->have_posts()) :
for ($i=0; $i++<8;)
while($page_children->have_posts()): $page_children->the_post();
echo '<div class="facultie-'.$i.'"><a><span class="facultie__box"><a>'.get_the_title().'</a></span></a></div>';
echo '';
endwhile;
endif;
wp_reset_query();
?>
И на выходе я получаю то что в каждом div накладываются все кафедры. как вывести чтобы была только одна кафедра в блоке?
Ответы (1 шт):
Автор решения: zhurof
→ Ссылка
Есть мнение, что дело в неправильно оформленном цикле for. Попробуйте так:
<?
$page_children = get_posts([
'numberposts'=>-1,
'post_type'=>'page',
'post_parent' => get_the_ID()
]);
foreach($page_children as $index=>$post ){
setup_postdata($post);
echo '<div class="facultie-'.($index+1).'"><a href="#"><span class="facultie__box">'.get_the_title().'</span></a></div>';
}
wp_reset_postdata();
?>