非插件实现 WordPress 分页导航

13

前一短时间折腾The time主题  忘记把分页导航给加上去了...所以导致使用这款主题会导致网站不能翻页,只能显示第一页的几篇文章。部分朋友选择使用插件来解决这个问题,周良今天找了一个教程,...来自木木的教程,很早很早就有的教程。

一、添加功能代码至 functions.php(的php循环内)

function par_pagenavi($range = 9) {
    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++) {
                    echo "<a href='".get_pagenum_link($i)."'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            }
            elseif($paged >= ($max_page - ceil(($range / 2)))) {
                for ($i = $max_page - $range; $i <= $max_page; $i++) {
                    echo "<a href='".get_pagenum_link($i)."'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            }
            elseif($paged >= $range && $paged < ($max_page - ceil(($range / 2)))) {
                for ($i = ($paged - ceil($range / 2)); $i <= ($paged + ceil(($range / 2))); $i++) {
                    echo "<a href='".get_pagenum_link($i)."'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            }
        } else {
            for ($i = 1; $i <= $max_page; $i++) {
                echo "<a href='".get_pagenum_link($i)."'";
                if ($i == $paged) echo " class='current'";
                echo ">$i</a>";
            }
        }
        next_posts_link(' 下一页 ');
        if ($paged != $max_page) {
            echo "<a href='".get_pagenum_link($max_page)."' class='extend' title='跳转到最后一页'> 最后一页 </a>";
        }
    }
}

二、添加美化代码至主题style.css

.page_navi{width:100%;height:36px;line-height:36px;text-align:center;overflow:hidden;padding-top:1em;}
.page_navi a{padding:3px 8px;margin:2px;text-decoration:none;color:#888;border:1px solid #ccf;}
.page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;font-weight:bolder;}

三、添加调用代码至主题index.php、archive.php、category.php、search.php

<div><?php par_pagenavi(9); ?></div>

注:文章转载自木木木木木

如果你有设计或者 WordPress 方面的项目需求,可以和我联系 Email:wwwzhouliang@gmail.com。

作者主页 邮箱 微博 腾讯微博 QQ Twitter Facebook Google+

共 13 条评论

  1. 周良 (文章作者) 回复

    留言测试

  2. 有机猪肉 回复

    路过 支持博主下

  3. 周良 (文章作者) 回复

    💡

  4. 沐歌 回复

    我也给你测试下

    1. 周良 (文章作者) 回复

      多谢哈~

  5. 俊文 回复

    我完全不懂,现成的代码竟然不会玩。。。 😯

  6. 小糊涂博客 回复

    ➡ 技术性人才无敌!

  7. 卢中亚 回复

    😡 无压力

    1. 周良 (文章作者) 回复

      那就好,哈哈

  8. JE 回复

    学习了,牛逼的主题是不是可以把插件干掉呢 😛

    1. 周良 (文章作者) 回复

      基本都有集成常用的插件

  9. 科比博客 回复

    不错哦,代码解决就不要插件了。

    1. 周良 (文章作者) 回复

      @科比博客 : 你怎么没头像了...

Leave a Reply

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 Required fields are marked *

返回顶部