Пример главной страницы сайта VseSkupki

В этом примере показано, как на главной странице идет иерархический вывод заголовков и линков к каждой родительской странице ее подчиненных страниц. В примере показано как это мной осуществлено. Сайт на 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();

 

Так же с моим портфолио можно ознакомиться на любой из представленной социальной сети, на своих страницах я публикую посты о своих работах, заданиях и целях.

Для связи со мной можно воспользоваться любой социальной сетью,
или написать на почту:

С моим резюме можно ознакомиться по ссылке:

© 2020-2024 Портфолио Юдина Александра г.Пенза. Все права защищены