Wordpress php 分页代码

yipeiwu_com6年前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(); ?>

相关文章

Pear DB 新手入门指南教程第1/3页

1. 简介这是一部指导我们如何使用Pear DB扩展。Pear DB,提供这样一系列的类: n 数据库抽象 n 高级错误处理机制 n 以及其它 2. 下载、安装Pear 由于现在Pea...

比较discuz和ecshop的截取字符串函数php版

下面先给出两个版本函数的源代码以及简单测试,最后我会给出一个实用性更强的字符串截取函数。需要注意的是:这里讨论的字符串截取问题都是针对UTF-8编码的中文字符串。 discuz版本 复制...

经典PHP加密解密函数Authcode()修复版代码

Authcode这个函数很多人都使用,这函数来自Discuz程序,用于加密解密字符串,可以设置钥匙(key)和过期时间,在很多时候都用得着。原版的函数代码可能会生成+、/、&这样的字符,...

PHP+Oracle本地开发环境搭建方法详解

安装instant client 首先,是从https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载...

PHP的加密方式及原理

复制代码 代码如下: <?php //变量注意区分数字 "0" 和 字符"O" $OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%...