PHP代码实现WordPress主题分页功能

虽然网上有不少wordpress插件能达到翻页的一个目的,但是尽可能少用插件是博主们必须要知道的。
下面我贴一段在网上找到的,分页实现的一个PHP程序。针对wordpress。
具体实现方法:
首先将下面一段函数代码添加到主题的functions.php模板文件中:

function kriesi_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 "</pre>
<div class="pagination">";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href="&quot;.get_pagenum_link(1).&quot;">最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href="&quot;.get_pagenum_link($prev).&quot;">上一页</a>":"";

for ($i=1; $i = $paged+$range+1 || $i echo ($paged == $i)? "<span class="current">".$i."</span>":"<a class="inactive" href="&quot;.get_pagenum_link($i).&quot;">".$i."</a>";
}
}

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


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

<!--?php  kriesi_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;
}

PHP代码实现WordPress主题分页功能》有2个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注