Управляем навигацией на WordPress – модуль PagerFix

04 Дек 2008 admin | Рубрика: Ликбез, Полезности.

Существует модуль, который исправляет ссылки навигации— т.е. «< назад» и «дальше >» — на ссылки на отдельные страницы. Для этого существует специальный модуль. Сохраните его под именем pagerfix. php в папке blog/wp-content/plugins, а затем активизируйте со страницы администрирования WordPress:

<?

/*
Plugin Name: PagerFix
Plugin URI: http://www.seoegghead.com/
Description: Makes the paging in WP more SE-friendly.

Author: Jaimie Sirovich
Version: 1.1 for WP 2.1
Author URI: http://www.seoegghead.com/
*/

function pager_fix($seperator = ‘ | ‘, $after_previous = ‘&nbsp;&nbsp;’, $before_next = ‘&nbsp;&nbsp;’, $prelabel=’&laquo; Previous Page’, $nxtlabel=’Next Page &raquo;’, $current_page_tag = ‘b’)

{
global $posts_per_page, $paged, $wp_query;
posts_nav_link(»,$prelabel,»);
echo $after_previous;
$numposts = $wp_query->found_posts;
$max_num_pages = ceil($numposts / $posts_per_page);
if ($max_num_pages > 1) {
for ($cnt = 1; $cnt <= $max_num_pages; $cnt++) {

if ($current_page_tag && $paged == $cnt) {
$begin_link = «<$current_page_tag>»; $end_link = «</$current_page_tag>»;

} else {
$begin_link = »; $end_link = »;
}

$x[] = $begin_link . ‘<a href=»‘ . get_pagenum_link($cnt) . ‘»>’ . $cnt . ‘</a>’ . $end_link;

}

echo join($seperator, $x);

}
echo $before_next;
posts_nav_link(»,»,$nxtlabel);

}

?>

После создания и активизации этого модуля необходимо где-то в вашем шаблоне вызвать функцию pager_fix (). Например, в файл index.php стандартного шаблона можно вставить такой код (возможно, с немного другим форматированием):

<?php next_posts_link(‘Slaquo; Предыдущие элементы’) ?>

<?php previous_posts_link(‘Следующие элементы Sraquo; ‘) ?>

Чтобы использовать версию «pagerfix» модуля разбивки на страницы, необходимо заменить выделенный код следующим:

<?php pager_fix() ?>

Вот собственно, и все

Теги: ,

Поделитесь своими мыслями