Wordpress php 分页代码

yipeiwu_com7年前PHP代码库

效果:

将下面的函数放到你的主题的 functions.php 文件中:

复制代码 代码如下:

function theme_echo_pagenavi(){
global $request, $posts_per_page, $wpdb, $paged;
$maxButtonCount = 9; //显示的最多链接数目
if (!is_single()) {
if(!is_category()) {
preg_match('#FROM\s(.*)\sORDER BY#siU', $request, $matches);
} else {
preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);
}
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
$max_page = ceil($numposts /$posts_per_page);
if(empty($paged)) {
$paged = 1;
}
$start = max(1, $paged - intval($maxButtonCount/2));
$end = min($start + $maxButtonCount - 1, $max_page);
$start = max(1, $end - $maxButtonCount + 1);
if($paged == 1){
echo "<span>首页</span>";
echo "<span>上一页</span>";
}else{
echo '<a href="'.get_pagenum_link().'"><span>首页</span></a>';
echo '<a href="'.get_pagenum_link($paged-1).'"><span>上一页</span></a>';
}
for($i=$start; $i<=$end; $i++){
if($i == $paged) {
echo "<span class=\"page_num on\">[$i]</span>";
} else {
echo '<a href="'.get_pagenum_link($i).'"><span class="page_num">['.$i.']</span></a>';
}
}
if($paged == $max_page){
echo "<span>下一页</span>";
echo "<span>末页</span> ";
}else{
echo '<a href="'.get_pagenum_link($paged+1).'"><span>下一页</span></a>';
echo '<a href="'.get_pagenum_link($max_page).'"><span>末页</span></a>';
}
echo " 共{$numposts}条记录, {$max_page}页.";
}
}

在主题的 index.php 文件中这样引用:
复制代码 代码如下:

<?php theme_echo_pagenavi(); ?>

相关文章

PHP实现生成数据字典功能示例

PHP实现生成数据字典功能示例

本文实例讲述了PHP实现生成数据字典功能。分享给大家供大家参考,具体如下: 最近时间紧迫,没有时间发博客,趁现在有点时间向大家分享一个知识点。在咱们做开发的时候 ,也许经常会遇到对数据库...

解析PHP高效率写法(详解原因)

1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静...

php使用parse_url和parse_str解析URL

PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str。 parse_url 解析 URL,返回其组成部分 mixed parse_url ( string...

PHP获取文件夹大小函数用法实例

本文实例讲述了PHP获取文件夹大小函数用法。分享给大家供大家参考。具体如下: <?php // 获取文件夹大小 function getDirSize($dir)...

PHP读写文件高并发处理操作实例详解

本文实例讲述了PHP读写文件高并发处理操作。分享给大家供大家参考,具体如下: 背景: 最近公司游戏开发需要知道游戏加载的流失率。因为,我们做的是网页游戏。玩过网页游戏的人都知道,进入游戏...