2015-11-20 3 views
1

Таким образом, мне удалось настроить цикл внутри цикла, который учитывает дочерние страницы и применяет к ним разную разметку на основе того, является ли общее количество дочерних страниц нечетным или четным, но мне трудно найти правильный код для подсчитывайте только страницы текущей страницы.Как подсчитать количество дочерних страниц текущей страницы в WordPress?

Так вот мой код:

<?php $the_query = new WP_Query(array( 
    'post_type' => 'page', 
    'posts_per_page' => -1, 
    'post_parent' => $post->ID)); 

    $count_posts = wp_count_posts('page'); 
    $published_posts = $count_posts->publish; 

    if($published_posts % 2 == 0) { 
     while ($the_query->have_posts()) : 
      $the_query->the_post(); ?> 
      ....some markup 
     <?php endwhile; 

    } else { 
     while ($the_query->have_posts()) : 
      $the_query->the_post(); ?> 
      ....some different markup 
     <?php endwhile; 
    } 
wp_reset_query(); ?> 

Я понимаю, что с этой линией $published_posts = $count_posts->publish; Я говорю это, чтобы сосчитать все опубликованные дочерние страницы, я просто не могу понять, как сказать ему, чтобы посчитать все опубликованные дочерние страницы только текущей страницы.

Любая помощь или понимание, как всегда, очень ценится. спасибо!

ответ

0

попробовать get_pages

<?php 
$children = get_pages('child_of='.$post->ID);?> 
if(count($children) != 0){ 

} 
else{ 

} 
?> 
+0

Благодаря zairwolf, где вы рекомендуете добавить этот код? Это значит заменить код, который уже существует? Оценил! –

+0

используйте это, чтобы посчитать ваш ребенок страницы – harrrrrrry

+0

Хорошо, это сработало, мне просто пришлось изменить указанную выше строку 'if (count ($ children)! = 0) {' to 'if (count ($ children)% 2 = = 0) {'Тогда это сработало отлично. Благодаря! –