Попробуйте это:
<?php
global $post; $current_page_parent = ( $post->post_parent ? $post->post_parent : $post->ID );
$mypages = get_pages( array (
'sort_order' => 'ASC',
'sort_column' => 'post_title',
'hierarchical' => 1,
'child_of' => $current_page_parent,
'number' => 5,
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish' ) );
?><ul class="sibling-page-list">
<li class="page-text">Page: </li>
<?php
$iPage = 0;
foreach( $mypages as $page ) {
$iPage++;
// this is to show a highlight of the page you're on.
if ($post->ID == $page->ID) {$active = "active";} else {$active = "";}
?>
<li class="sibling-page-link <?php echo $active; ?>">
<a href="<?php echo get_page_link( $page->ID ); ?>" title="<?php echo $page->post_title; ?>"><?php echo $iPage; ?></a>
</li>
<?php
}
?>
</ul>
Мои классы стилей:
.sibling-page-list {
margin: 0;
padding: 0;
list-style: none;
height: 20px;
}
.sibling-page-list li {
float: left;
display: block;
margin-right: 10px;
}
.sibling-page-list li.sibling-page-link.active {
background: #eee;
}
Я сделаю плагин для облегчения этого решения, так как он мне уже давно нужен.
Отдельное спасибо за этот пост: http://wordpress.org/support/topic/list-only-page-siblings, который дал мне начало в верхней части. Нумерацию страниц я добавил. Кроме того, будет работать над тем, сколько страниц будет показано и т. Д. Наслаждайтесь изменением этого.
Кстати, поместите этот код выше в свой файл шаблона страницы, чтобы он работал на страницах.