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

Здравствуйте! Суть вот в чем, нужно вывести все дочерние страницы родителя, т.е. получается надо вывести все "сестринские страницы". Например, есть страница "Отопление", у него есть дочерние страницы "Проектирование", "Монтаж", "Обслуживание". Так вот, находясь в одной из ее дочерних страниц (например, Обслуживание) надо выводить списком все остальные страницы родителя (Проектирование, Монтаж, Обслуживание). Нагуглил такое решение:
function wpb_list_child_pages() { 
global $post; 
if ( is_page() && $post->post_parent )
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
else
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );
if ( $childpages ) {
    $string = '<ul>' . $childpages . '</ul>';
}
return $string;
}

Проблема в том, что мне еще надо вывести и миниатюры этих страниц, которые созданы с помощью плагина ACF. Решение выше, выводит просто списком со ссылками. Как доработать это код? Спасибо всем ответившим.
  • Вопрос задан
  • 467 просмотров
Пригласить эксперта
Ответы на вопрос 1
it_proger29
@it_proger29
Битрикс
oda6sj

"value" => "templates/catalogue_detail.php",
Шаблон который будет открываться. Карточка товара.
<!-- Карточки -->
					<div class="row catalogue_main__cards">
						<?php $penis = get_the_ID(); ?>
						<?php	
					$sort = $_COOKIE["catalog_sort"];
					$show_count = (int)$_COOKIE["catalog_show_count"];
					$sort = str_replace('\\', "", $sort);
					$sort = json_decode($sort, true);
					
					if(!$show_count)
						$show_count = 24;

					$queryArr = array(
						'post_type' 		=> 'page',
						'post_parent' 		=> $penis,
						'meta_query' 		=> array(
							"template" 	=> array(
								"key" 	=> "_wp_page_template",
								"value" => "templates/catalogue_detail.php",
								"type" 	=> 'NUMERIC'
							),
						),
						'paged' 			=> $currPage,
						'posts_per_page'	=> $show_count,
						'order' 			=> strtoupper($sort["type"]),
					);

					if($sort)
					{
						switch ($sort["by"]) {

							case 'alphabet':
								$queryArr["orderby"] = "title";
								break;
							case 'price':
								$queryArr["meta_key"] = "item_price";
								$queryArr["orderby"] = "meta_value_num";
								break;
						}
					}

					$query = new WP_Query( $queryArr );
					while ($query->have_posts()) : $query->the_post();?>
					<?php $aidi = get_the_ID(); ?>
				
				<!-- Вывод -->
					<div class="col-lg-4 col-md-4 col-6">
						<a href="<?php the_permalink(); ?>" class="events_items_slider__block" tabindex="0">
							<?php
								$thumb_id = get_post_thumbnail_id();
								$thumb_url = wp_get_attachment_image_src($thumb_id,'full-size', true);
								
								?>
							<div class="event_card__pic contain" style="background-image: url(<?php echo $thumb_url[0];?>);"></div>
							<p class="events_items_slider__block__title"><?php the_title();?></p>
							<p class="events_items_slider__block__price"><?php the_field('item_price'); ?> ₽</p>
						</a>
					</div>
					
				<!-- Конец цикла -->
					<?php
					endwhile;
				 	wp_reset_query();
					?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы