Лента новостей. Навигация.

Приветствую!
Подскажите, пожалуйста, как можно реализовать следующее:
есть рубрика, записи которой выводятся на определенную страницу. Но записей довольно много, поэтому хотелось бы, чтобы выводилось по 10 записей (это я знаю, как сделать), а внизу страницы было меню: Страницы: | 1 | 2 | 3 | …. | 10 | (вот это как раз не знаю как сделать).
Например, это реализовано на сайтах: http://www.sotaweek.ru/news/news/ или http://www.championat.ru/news/1.html
Может есть какие-либо плагины?

Есть плагины. wp-pagenavy, pagebar, wp-page-numbers и т.д.

Я где-то нашел и себе прикрутил такое:
Создаем в папке шаблона файл navi.php , туда пишем это:

<?php
global $wp_query;
$max_page = $wp_query->max_num_pages;
$nump=5;
if($max_page>1){
    $paged = intval(get_query_var('paged'));
    if(empty($paged) || $paged == 0) $paged = 1;
    echo '';
    echo 'стр.'.$paged.' из '.$max_page.'&nbsp;&nbsp;';
    if($paged!=1) echo '<a href="'.get_pagenum_link(1).'" class="navi" title="Перейти в начало">&laquo;</a>';
        else echo '<b> 1 </b> ';
    if($paged-$nump>1) $start=$paged-$nump; else $start=2;
    if($paged+$nump<$max_page) $end=$paged+$nump; else $end=$max_page-1;
    if($start>2) echo "";
    for ($i=$start;$i<=$end;$i++)
     {
     if($paged!=$i) echo '<a href="'.get_pagenum_link($i).'" class="navi" title="'.$i.'">'.$i.'</a>';
        else echo '<b> '.$i.' </b>';
     }
    if($end<$max_page-1) echo "";
    if($paged!=$max_page) echo '<a href="'.get_pagenum_link($max_page).'" class="navi" title="Перейти в конец">&raquo;</a> ';
        else echo ' ';
    echo ''    ;
    }
?>

Где $nump=5; – максимальное количество ссылок на другие страницы слева\справа текущей.

В шаблон (footer.php или куда хочется) вставляем это:

<?php include_once 'navi.php'; ?>

В css пишем стиль для ссылок, что-то типа:

a.navi,span.navi{background:#888;color:#000; text-decoration:none;font-size:11px;border: 1px solid  #000;padding:1px;margin-left:1px;}
a:hover.navi{background:#000;color:#fff;border:1px solid  #fff;}

У меня работает. =)

Anonymous
Отправить
Ответ на: