Рубрика: WordPress
Если вас не устраивает или не нравится стандартная организация постраничной навигации на WordPress, то можно заменить его на более привычный и удобный для пользователей постраничную навигацию без плагина, для этого в файл functions.php добавим следующий код:
function navigation() { 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 = 0; //1 - выводить текст "Страница N из N", 0 - не выводить $a['mid_size'] = 2; //сколько ссылок показывать слева и справа от текущей $a['end_size'] = 5; //сколько ссылок показывать в начале и в конце $a['prev_text'] = '« Предыдущая '; //текст ссылки "Предыдущая страница" $a['next_text'] = 'Следующая »'; //текст ссылки "Следующая страница" if ($max > 1) echo '<div>'; if ($total = 1 && $max > 1) $pages = '<span>Страница ' . $current . ' из ' . $max . '</span>'."\r\n"; echo $pages . paginate_links($a); if ($max > 1) echo '</div>'; }
Далее меняем стандартный код вывода на наш во всех шаблонах где есть навигация это index.php, category.php, archive.php, search.php
Вставляем вместо:
next_posts_link('« Ранее'); previous_posts_link('Позже »');
этот код:
<div class="navig"><?php navigation(); ?></div>
в файл с css кодом добавляем новые стили
.navig { padding:15px 0 25px 0; overflow:hidden; font-size:13px; color:#000; clear:both;} .navig a{background: #fff; border: 1px solid #DDDDDD; color: #000000; font-size: 13px; padding:5px; text-decoration: none;} .navig span.pages {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .navig a:hover{background: #fff; border: 1px solid red; color:red; font-size: 13px; text-decoration: none;} .navig span.pages {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .navig span.current {background: #fff; border: 1px solid #111; font-size: 13px; padding:5px; text-decoration: none;} .navig span.extend {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .str{background: #fff; color: #000000; font-size: 13px; padding: 5px; text-decoration: none;}
P.S.: Если вам не очень понятно что здесь описано или попросту лень то не мучайтесь и создайте навигацию при помощи популярного плагина WP-PageNavi скачать тут (_http://wordpress.org/plugins/wp-pagenavi/)
или же плагином WP Page Numbers эти плагины можно также найти и установить из самой CMS в разделе "Плагины".
Теги: плагин
комментариев 6 для записи Постраничная навигация WordPress без плагина
Спасибо! Давно искал!
Проблема в том, что вы забыли подставить class в div. Это можно сделать или в div’е внутри самой функции или в обрамляющем и тогда со стилями будет порядок.
Поправьте пожалуйста пост, автор.
Отличная статья! Спасибо.
Спасибо, но стили не подходят или их нужно не туда вставлять.