今天搜了下关于wordpress分页,有几篇写过脱离插件实现WordPress主题分页功能。
都不是自己想要的效果。介绍的内容就不多写直接代码伺候~
具体实现方法:
首先将下面一段函数代码添加到主题的functions.php模板文件中:
<?php function pagination($pages = ''){ global $paged; if(empty($paged))$paged = 1; $prev = $paged - 1; $next = $paged + 1; $range = 20; // 你要显示的分页数 多余的隐藏 $showitems = ($range * 2)+1; if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$pages) { $pages = 1; } } if(1 != $pages){ echo "<div class='pagination'>"; echo ($paged > 2 && $paged > $range+1 && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>«</a>":""; echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."'>‹</a>":""; for ($i=1; $i <= $pages; $i++){ if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){ echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>"; } } echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>›</a>" :""; echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>»</a>":""; echo "</div>\n"; } } ?>
接下来用下面的代码替换原来模板中默认翻页代码或分页插件代码:
<?php pagination($query_string); ?>
最后再把下面的样式代码添加到style.css中,刷新一下页面,与使用插件实现的翻页效果一样。
/*pagination*/ #top .pagination { clear:both; padding:5px 0 60px 0; position:relative; z-index:3; } #top .pagination span, #top .pagination a { display:block; float:left; font-size:11px; line-height:13px; margin: 2px 2px 2px 0; padding:6px 9px 5px 9px; text-decoration:none; width:auto; } #top .pagination .current{ font-size:11px; padding:6px 9px 5px 9px; } .archiveentry .alignleft{ margin: 12px 10px 0 0; }
» 版权所有:YaoLei's Blog » 脱离插件,实现WordPress主题分页功能
» 本文链接:https://www.yaolei.info/archives/60