wodpress 代码显示分页导航

来源:互联网 发布:边缘检测算法 编辑:程序博客网 时间:2024/05/18 03:28
核心代码来源:http://www.ei2u.com/website/wordpress/wordpress-pages-navigation.html


导航栏的效果如下:

导航函数:

function par_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++) {                    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 + floor(($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>";        }    }}

导航引用:

<div class="page_navi"><?php par_pagenavi(5); ?></div>

导航美化:

.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 #DFDFDF;}.page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;font-weight:bolder;}


运用情况:


theme中使用导航:

将函数放到functions.php文件中,这样可以在其他页面进行调用


在自己写的插件中使用,post查询也在当页,手动给查询的函数query_post添加‘paged’参数:

if ($_GET['paged']) {    $paged = $_GET['paged'];} else {    $paged = 1;}query_posts(array('post_type' => 'post', 'posts_per_page' => 20, 'paged' => $paged));