RSS
 

Wordpress php 分页代码–英文网站用的

10 May

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

function choco_get_theme_path() {
 $map = array(
  ’Default Scheme’=>’default’,
  ’Dark Scheme’=>’darkgray’,
  ’Red Scheme’=>’red’,
 );
 $theme = get_option(‘choco_color_scheme’);
 if (isset($map[$theme])) {
  return $map[$theme];
 }
 return ‘default’;
}
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>First</span>&nbsp;”;
echo “<span>Previous</span>&nbsp;”;
}else{
echo ‘<a href=”‘.get_pagenum_link().’”><span>First</span></a>&nbsp;’;
echo ‘<a href=”‘.get_pagenum_link($paged-1).’”><span>Previous</span></a>&nbsp;’;
}
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>['.$i.']</span></a>’;
}
}
if($paged == $max_page){
echo “<span>Next Page</span>&nbsp;”;
echo “<span>Last Page</span> &nbsp;”;
}else{
echo ‘<a href=”‘.get_pagenum_link($paged+1).’”><span>Next Page</span></a>&nbsp;’;
echo ‘<a href=”‘.get_pagenum_link($max_page).’”><span>Last Page</span></a>&nbsp;’;
}
echo ” total:{$numposts}, NO:{$max_page}.”;
}
}

 在主题的 index.php,archive.php 文件中这样引用:
<?php theme_echo_pagenavi(); ?>

 

Leave a Reply