wordpress分页不跳转的问题

刚开始用网上找的不用插件实现分页,但是有的页面显示有的不显示分页,显示了分页的导航但是点击不跳转还是在第一页。
后面又换了插件Wp pagenavi但是还是不行,有些页面显示有些也不显示,点击还是不跳转。。我在页面的具体位置加了分页导航的代码了
最加悬赏,。

我以前也遇到了这个种问题 纠结了好长时间搞不好,最后找到了一种不用插件实现分页的功能

具体实现方法:

首先将下面一段函数代码添加到主题的functions.php模板文件中:

function pagination($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string ."&posts_per_page=-1");
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged – 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;

$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo "<div class='pagination'>";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."'>上一页</a>":"";

for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}

echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>下一页</a>" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>最后</a>":"";
echo "</div>\n";
}
}

接下来用下面的代码替换原来模板中默认翻页代码或分页插件代码:

<?php pagination($query_string); ?>

最后再把下面的样式代码添加到style.css中,刷新一下页面,与使用插件实现的翻页效果一样。

.pagination{
line-height:23px;
}
.pagination span, .pagination a{
font-size:12px;
margin: 2px 6px 2px 0;
background:#fff;
border:1px solid #e5e5e5;
color:#787878;
padding:2px 5px 2px 5px;
text-decoration:none;
}
.pagination a:hover{
background: #8391A7;
border:1px solid #fff;
color:#fff;
}
.pagination .current{
background: #fff;
border:1px solid #8d8d8d;
color:#393939;
font-size:12px;
padding:2px 5px 2px 5px;
}

有不明白的给我留言
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-18

在functions.php里加

if(!function_exists('pagination')){
    function pagination($page = 2){
        global $wp_query;
        $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
        $total = $wp_query->max_<a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWPW6znvDzmhfkrAFBrAmk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWDkPWckPHfznHRvnjD3rj6zPs" target="_blank" class="baidu-highlight">num</a>_pages;
        if ($total == 1) return;
        if ($current > 1) $links .= '<a href="' . esc_url(get_page<a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWPW6znvDzmhfkrAFBrAmk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWDkPWckPHfznHRvnjD3rj6zPs" target="_blank" class="baidu-highlight">num</a>_link($current - 1)) . '" class="prev">上一页</a>';
        if ($current > $page + 1) $links .= page_link(1, 1);
        if ($current > $page + 2) $links .= '<span class="dot">...</span>';
        for($i = $current - $page; $i <= $current + $page; $i++ ) {
            if ($i > 0 && $i <= $total) $i == $current ? $links .= '<span class="<a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWPW6znvDzmhfkrAFBrAmk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWDkPWckPHfznHRvnjD3rj6zPs" target="_blank" class="baidu-highlight">num</a> cur">'.$i.'</span>' : $links .= page_link($i, $i);
        }
        if ($current < $total - $page - 1) $links .= '<span class="dot">...</span>';
        if ($current < $total - $page) $links .= page_link( $total, $total);
        if ($current < $total) $links .= '<a href="' . esc_url(get_pagenum_link($current + 1)) . '" class="next">下一页</a>';
        echo $links;
    }
    function page_link($page, $num) {
        return '<a href="' . esc_url(get_pagenum_link($page)) . '" class="num">'.$num.'</a>';
    }
}

然后在相应页面,例如index.php里,相应位置插入

<?<a href="https://www.baidu.com/s?wd=php&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWPW6znvDzmhfkrAFBrAmk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWDkPWckPHfznHRvnjD3rj6zPs" target="_blank" class="baidu-highlight">php</a> pagination(); ?>

默认是当前页数左右有2个链接,然后是…省略号。如果想调整,在里面加参数即可,例如:

<?php pagination(3); ?>

    自己可以去试下。

第2个回答  2013-09-11
备份数据库,重新下载全新的wordpress进行全新安装,保持纯净,在这个基础上,你安装你的导航插件,
我可以较为肯定的说,你的空间被入侵过,你的PHP网页被人加过各种广告或黑客代码,导致浏览器无法加载,或迟滞。追问

我是本地测试啊,大哥

追答

本地测试的话,要修改PHP.INI:
改php.ini文件语句
short_open_tag = off
为short_open_tag = On

追问

装的phpnow套件怎么修改?

追答

在安装包里搜索php.ini

追问

那个已经修改了,然后还是不能跳转是什么问题

追答

代码或插件问题,安装纯净版的WP,绝不可能有这问题的。
导航插件,无不良后遗症的,多得很,WP的强大之处,就是它有千万个插件储备,你可以反复测试,哪个适合你。
另外,安装包里的php.ini-recommended.bak,php.ini-dist,php.ini-recommended,它们中的short_open_tag 都要修改成“ = On ”