Постраничная навигация в WordPress без плагина
Заметки по Wordpress

Постраничная навигация в CustomPostType без плагина

Вывод постраничной навигации на Custom Post Type ничем не отличается от вывода на обычной станице.
Практически всем блогерам известен плагин WP-PageNavi который выводит постраничную навигацию такого вида как на картинке.

Постраничная навигация в WordPress без плагина

Dimox поделился своим вариантом как сделать постраничную навигацию в WordPress без плагина и он прекрасно работает.

И этот метод мы будем использовать для отображения навигации в пользовательских типах сообщений.

[spoiler name=”ВидеоурокДля открытия – нажмите“]

[/spoiler][spoiler name=”Необходимые данныеДля открытия – нажмите“]
Для вывода на странице нужных нам типов пользовательских сообщений надо прописать данный код:
[crayon lang=”php”] ‘works’,’posts_per_page’ => 15,’paged’ => $paged));

while ($wp_query->have_posts()) : $wp_query->the_post();
?>[/crayon]
works – это пример пользовательского типа сообщений и в данном коде идет сразу разбивка на страницы.

Далее воспользуемся помощью Dimox.

Функция, которую он нам предлагает, совсем небольшая по размеру:
[crayon lang=”php”]function wp_corenavi() {
global $wp_query, $wp_rewrite;
$pages = ”;
$max = $wp_query->max_num_pages;
if (!$current = get_query_var(‘paged’)) $current = 1;
$a[‘base’] = str_replace(999999999, ‘%#%’, get_pagenum_link(999999999));
$a[‘total’] = $max;
$a[‘current’] = $current;

$total = 1; //1 – выводить текст “Страница N из N”, 0 – не выводить
$a[‘mid_size’] = 3; //сколько ссылок показывать слева и справа от текущей
$a[‘end_size’] = 1; //сколько ссылок показывать в начале и в конце
$a[‘prev_text’] = ‘«’; //текст ссылки “Предыдущая страница”
$a[‘next_text’] = ‘»’; //текст ссылки “Следующая страница”

if ($max > 1) echo ‘

‘;[/crayon]
Данный код необходимо поместить в файл functions.php вашего шаблона. В функции всего пять опций.  Для понятности он написал комментарии в коде.Для того, чтобы вывести навигацию в нужном месте, вставляйте в шаблон следующий код:
[crayon lang=”php”][/crayon]
Проверяем навигация появилась, но =-O увы при переходе выдает ОШИБКУ…. но и на этот случай найдено решение
Открываем файл functions.php вашего шаблона и к пользовательскому типу сообщения дописываем строчку:
[crayon lang=”php”]add_rewrite_rule( ‘works/page/([0-9]+)/?$’, ‘index.php?pagename=works&paged=$matches[1]’, ‘top’ );[/crayon]
Теперь все должно работать 😉
[/spoiler]На этом все пользуйтесь, что не понятно пишите комментарии.

Новые посты

Админка WordPress настройка под клиента

Кнопка twitter – Как добавить кнопку twitter на свой сайт

Гордеев Игорь