Показывать только кнопки Предыдущая и Следующая в пагинации

28 июн. 2013 г., 11:28:19
Просмотры: 22.7K
Голосов: 0

Я пытаюсь изменить пагинацию WordPress так, чтобы отображались ТОЛЬКО кнопки Предыдущая и/или Следующая, БЕЗ промежуточных страниц.

Используя этот фрагмент из Codex:

<?php
global $wp_query;

$big = 999999999; // нужно маловероятное целое число

echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages
) );
?>

И эти параметры:

<?php $args = array(
'base'         => '%_%',
'format'       => '?page=%#%',
'total'        => 1,
'current'      => 0,
'show_all'     => False,
'end_size'     => 1,
'mid_size'     => 2,
'prev_next'    => True,
'prev_text'    => __('« Предыдущая'),
'next_text'    => __('Следующая »'),
'type'         => 'plain',
'add_args'     => False,
'add_fragment' => ''
); ?>

Но у меня не получается правильно! Всегда показывает: 1 2 следующая или предыдущая 1 2 А я пытаюсь получить это: следующая предыдущая

Можно ли это сделать путем изменения параметров?

6
Комментарии

Если вам нужны только кнопки "назад" и "вперед", не используйте paginate_links! В каком контексте? Цикл записей? Галерея? Это фронтенд или админка?

TheDeadMedic TheDeadMedic
28 июн. 2013 г. 11:30:23

Страница отображает мои записи, ну, 10 из них. Так что да, это цикл записей. Но я хочу дать возможность просмотреть остальные. Поэтому мне нужны кнопки "назад" и/или "вперед".

zandwerk zandwerk
28 июн. 2013 г. 11:42:02

Хм, установка end_size => 0 и mid_size => 0 должна решить проблему, если я правильно вас понял (вы используете переменную $args как аргумент функции paginate_links?).

Krzysiek Dróżdż Krzysiek Dróżdż
28 июн. 2013 г. 11:42:50

когда я устанавливаю end_size и mid_size в 0, всё равно выводятся 1 2 next или previous 1 2

zandwerk zandwerk
28 июн. 2013 г. 11:50:01

Что не так с next_posts_link() & previous_posts_link()?

TheDeadMedic TheDeadMedic
28 июн. 2013 г. 11:53:33

Оу, хей, TheDeadMedic, похоже это именно то, что я искал! Я думал это применяется только к отдельным записям, а не к странице, содержащей первые 10 из них! Большое спасибо!

zandwerk zandwerk
28 июн. 2013 г. 11:59:59
Показать остальные 1 комментариев
Все ответы на вопрос 1
0

Если вы не хотите использовать пагинацию на своем сайте, не используйте функцию paginate_links(). Правильный способ достичь этого - использовать функции next_posts_link() и previous_posts_link(). Они выводят просто ссылки на следующую/предыдущую страницу с записями, как вы хотели.

Проверьте: http://codex.wordpress.org/Function_Reference/next_posts_link http://codex.wordpress.org/Function_Reference/previous_posts_link

next_posts_link( 'Старые записи' );
previous_posts_link( 'Новые записи' ); 
28 июн. 2013 г. 12:32:30