Wordpress如何不适用插件使用纯代码实现分页导航效果,首先打开当前使用的主题的functions.php文件并加入以下代码:
//分页函数
function wp_pagenavi($range = 5){
global $paged, $wp_query;
if ( !$max_page ) {
$max_page = $wp_query->max_num_pages;
}
if($max_page > 1){
if(!$paged){
$paged = 1;
}
if($paged != 1){
echo "<a href='" . get_pagenum_link(1) . "' class='extend' title='跳转到首页'> « </a>";
}
previous_posts_link(' ‹ ');
if($max_page > $range){
if($paged < $range){
for($i = 1; $i <= ($range + 1); $i++){
if($i==$paged) echo "<a class='current'>$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
elseif($paged >= ($max_page - ceil(($range/2)))){
for($i = $max_page - $range; $i <= $max_page; $i++){
if($i==$paged) echo "<a class='current'>$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){
if($i==$paged) echo "<a class='current'>$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
}
else{
for($i = 1; $i <= $max_page; $i++){
if($i==$paged) echo "<a class='current'>$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
next_posts_link(' › ');
if($paged != $max_page){
echo "<a href='" . get_pagenum_link($max_page) . "' class='extend' title='跳转到最后一页'> » </a>";
}
}
}
然后找到需要分页的页面模板文件,将
next_posts_link
previous_posts_link
两个参数修改成
<?php wp_pagenavi(); ?>
然后刷新下,是不是实现了分页呢?另外在这里强调下,都说“插件会拖慢网站速度,最好都用代码实现,这样网站速度就快了!”这个说法是错误的,因为使用代码和插件都是一样的性质,只不过形式变了一下而已,最好的办法就是能不要的功能就别去折腾,实在不行也不要到处去搜代码,然后直接复制粘贴完事。要考虑代码的执行效率,这样才能有效的保证网站的运行加载速度。