Wordpress php 分页代码

yipeiwu_com5年前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计算当前坐标3公里内4个角落的最大最小经纬度实例

本文实例讲述了PHP计算当前坐标3公里内4个角落的最大最小经纬度的方法。分享给大家供大家参考,具体如下: //$lng 、$lat 经纬度 $half = 6371;...

站长助手-网站web在线管理程序 v1.0 下载

大小格式:34KB/RAR  软件语言:简体中文  应用平台:ASP环境  软件授权:免费版  没有FTP软件也可以随时随地管理网站的文件(上传、...

用PHP实现浏览器点击下载TXT文档的方法详解

由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将...

php实现阿拉伯数字和罗马数字相互转换的方法

本文实例讲述了php实现阿拉伯数字和罗马数字相互转换的方法。分享给大家供大家参考。具体如下: <?php // Function that calculates the...

PHP判断远程url是否有效的几种方法小结

PHP判断远程url是否有效的几种方法小结

解决办法: 使用PHP解决 使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题 使用curl返回,然后判断是否正确执行 使用get_header...