/ Сайтостроение / Wordpress / Родительские и дочерние страницы

Родительские и дочерние страницы

NEW

08.07.2019

79

С недавнего времени стал активно использовать функционал родительских страниц. Для организации небольших разделов (до 10 страниц) это удобнее чем делать рубрику с записями.

Вывод дочерних страниц

Вывод на текущей странице-родителе

<?php $page_children = new WP_Query(array(
	'post_type' => 'page',
	'post_parent' => get_the_ID()
)
); ?>
					
<?php if($page_children->have_posts()) : ?>
	<ul>
	<?php while($page_children->have_posts()): $page_children->the_post();
		echo '<li><a href="'.get_the_permalink().'">'.get_the_title().'</a></li>';					
	endwhile; ?>
	</ul>
<?php endif; wp_reset_query(); ?>

Проверка, является ли страница родительской

<?php if ( is_page() && $post->post_parent ) { echo 'This Parent Page'; } ?>

Шорткод вывода дочерних страниц ( [wpb_childpages] ):

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;
 
}
 
add_shortcode('wpb_childpages', 'wpb_list_child_pages');

Получение родительской страницы из дочерней

ID страницы-родителя

$post->post_parent;

Кнопка возврата на родительскую страницу, если она есть:

<?php $parent_page = $post->post_parent; 
if ( !empty($parent_page) ): ?>
	<a class="back" href="<?php echo esc_url( get_page_link( $parent_page ) ); ?>"><i class="fa fa-reply" aria-hidden="true"></i> Вернуться в раздел <?php echo get_the_title( $parent_page ); ?></a>
<?php endif; ?>

Стиль кнопки

a.back {
    background: #FF9800;
    color: #fff;
    padding: 12px 45px;
    display: inline-block;
    border-radius: 3px;
}

Поделится информацией с друзьями

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Родительские и дочерние страницы
Скрипты бронирования Travelline
Рекомендации для васСкрипты бронирования TravellineOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.