',
));
/* Альтернатива wp_pagenavi (без лишних обращений к данным)
------------------------------------------------------- */
function kama_pagenavi($before='', $after='', $echo=true) {
/* ================ Настройки ================ */
$text_num_page = ''; //Текст перед навигацией. {current} заменится текущей, а {last} последней страницами. Пример: 'Страница {current} из {last}' = Страница 4 из 60
$num_pages = 11; //сколько ссылок показывать
$stepLink = ''; //после навигации ссылки с определенным шагом (значение = число (какой шаг) или '', если не нужно показывать). Пример: 1,2,3...10,20,30
$dotright_text = '...'; //промежуточный текст "до".
$dotright_text2 = '...'; //промежуточный текст "после".
$first_page_text = ''; //текст "к первой странице" или ставим '', если вместо текста нужно показать номер страницы.
$last_page_text = ''; //текст "к последней странице" или пишем '', если вместо текста нужно показать номер страницы.
/* ================ Конец Настроек ================ */
global $wp_query;
$posts_per_page = (int) $wp_query->query_vars[posts_per_page];
$paged = (int) $wp_query->query_vars[paged];
$max_page = $wp_query->max_num_pages;
if($max_page <= 1 ) return false; //проверка на надобность в навигации
if(empty($paged) || $paged == 0) $paged = 1;
$pages_to_show = intval($num_pages);
$pages_to_show_minus_1 = $pages_to_show-1;
$half_page_start = floor($pages_to_show_minus_1/2); //сколько ссылок до текущей страницы
$half_page_end = ceil($pages_to_show_minus_1/2); //сколько ссылок после текущей страницы
$start_page = $paged - $half_page_start; //первая страница
$end_page = $paged + $half_page_end; //последняя страница (условно)
if($start_page <= 0) $start_page = 1;
if(($end_page - $start_page) != $pages_to_show_minus_1) $end_page = $start_page + $pages_to_show_minus_1;
if($end_page > $max_page) {
$start_page = $max_page - $pages_to_show_minus_1;
$end_page = $max_page;
}
if($start_page <= 0) $start_page = 1;
$out='';//выводим навигацию
$out.= $before.'
'."\n";
if ($text_num_page){
$text_num_page = preg_replace ('!\{current\}|\{last\}!','%s',$text_num_page);
$out.= sprintf ('
'.$text_num_page.'',$paged,$max_page);
}
if ($start_page >= 2 && $pages_to_show < $max_page) {
$out.= '
«';
$out.= '
'. ($first_page_text?$first_page_text:1) .'';
if($dotright_text) $out.= '
'.$dotright_text.'';
}
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $paged) {
$out.= '
'.$i.'';
} else {
$out.= '
'.$i.'';
}
}
if ($stepLink && $end_page < $max_page){ //ссылки с шагом
for($i=$end_page+1; $i<=$max_page; $i++) {
if($i % $stepLink == 0 && $i!==$num_pages) {
if (++$dd == 1) $out.= '
'.$dotright_text2.'';
$out.= '
'.$i.'';
}
}
}
if ($end_page < $max_page) {
if($dotright_text) $out.= '
'.$dotright_text2.'';
$out.= '
'. ($last_page_text?$last_page_text:$max_page) .'';
$out.= '
»';
}
$out.= "
".$after."\n";
if ($echo) echo $out;
else return $out;
} // end kama_pagenavi()
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>