Posted in PHP onOctober 21, 2009
效果:
将下面的函数放到你的主题的 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(); ?>
Wordpress php 分页代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@