blood-moon
@blood-moon
Фрилансер

Пагинация страниц одного родителя?

Добрый день .
У меня есть страница к примеру
Рисование природы
и она является родителем страниц Урок-1 , Урок-2 , Урок-3 итд . Как мне сделать пагинацию для этих страниц ?
Для постов если не ошибаюсь как-то так
<?php 
$prev = get_previous_post_link( '%link', 'Прошлая глава', true );
echo str_replace( '<a ', '<a class="left-page arrow-page" ', $prev );
$next = get_next_post_link( '%link', 'Следующая глава', true ); 
echo str_replace( '<a ', '<a class="right-page arrow-page" ', $next );
 ?>

Но вот как для страниц так и не разобрался .
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
blood-moon
@blood-moon Автор вопроса
Фрилансер
Нашёл как на главной (родителе) странице сделать список дочерних страниц
<?php
  $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
<?php } ?>

Уже хорошо . (так как это тоже нужно было)
Но вот как сделать ссылки на след. статью по очереди добавления (пагинацию - если не ошибаюсь в название) так и не нашёл .
Не ужели для дочерних страниц правда нету костыля который делал бы что-то вроде этого у статей ?
<?php 
$prev = get_previous_post_link( '%link', 'Прошлая глава', true );
echo str_replace( '<a ', '<a class="left-page arrow-page" ', $prev );
$next = get_next_post_link( '%link', 'Следующая глава', true ); 
echo str_replace( '<a ', '<a class="right-page arrow-page" ', $next );
 ?>


--------------------------------------------------------------------------
Всё ребят , нагуглил .
Вот код , может кому ещё нужно будет
<?php
$pagelist = get_pages('sort_column=menu_order&sort_order=asc');
$pages = array();
foreach ($pagelist as $page) {
   $pages[] += $page->ID;
}

$current = array_search(get_the_ID(), $pages);
$prevID = $pages[$current-1];
$nextID = $pages[$current+1];
?>

<div class="navigation">
<?php if (!empty($prevID)) { ?>
<div class="alignleft">
<a href="<?php echo get_permalink($prevID); ?>"
  title="<?php echo get_the_title($prevID); ?>">Previous</a>
</div>
<?php }
if (!empty($nextID)) { ?>
<div class="alignright">
<a href="<?php echo get_permalink($nextID); ?>" 
 title="<?php echo get_the_title($nextID); ?>">Next</a>
</div>
<?php } ?>
</div><!-- .navigation -->
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@po5epT
Аналогичной функции для страниц нет, насколько я знаю, поэтому можно поступить так:

$childrens = get_children( array( 
	'post_parent' => id страницы родителя,
	'post_type'   => 'page', 
	'numberposts' => -1,
	'post_status' => 'publish'
) );

и дальше этот массив уже выводишь списком как угодно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы