实现wordpress分页的几种方法

2024-12-04 08:41:01
推荐回答(1个)
回答(1):

wordpress内置了很多分页的函数,我可以通过传参很方便的就完成分页功能,只要你有一些css的基础,很容易就可以实现各式各样的分页样式,我们来看看有哪些
一、paginate_links()
例: 0, 'before_page_number' => '', 'mid_size' => 2,));?>
二、the_posts_pagination()
例:
the_posts_pagination( array('mid_size' => 3,'prev_text' =>'上一页','next_text' =>'下一页','before_page_number' => '','after_page_number' => '',) ); ?>

三、自定义函数,把以下代码放入主题目录functions.php中
// 分页代码function par_pagenavi($range = 3){
global $paged, $wp_query;
if ( !$max_page ) {$max_page = $wp_query->max_num_pages;}
if($max_page > 1){if(!$paged){$paged = 1;}
if($paged != 1){echo "«";}
if($max_page > $range){
if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo "if($i==$paged)echo " class='current'";echo ">$i";}}
elseif($paged >= ($max_page - ceil(($range/2)))){
for($i = $max_page - $range; $i <= $max_page; $i++){echo "if($i==$paged)echo " class='current'";echo ">$i";}}
elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){echo "$i";}}}
else{for($i = 1; $i <= $max_page; $i++){echo "if($i==$paged)echo " class='current'";echo ">$i";}}
next_posts_link(' »');}}

模板中调用方法:



附带一点css样式仅供参考:
#page{width:100%;height:36px;line-height:36px;text-align:left;overflow:hidden;margin-left:auto;margin-right:auto;display:block;text-align:-moz-center;*text-align:center;text-align:center}#page a{text-decoration:none;color:#FFF;background:#282828;display:inline-block;padding:9px 12px;margin:0 5px 0 0;line-height:16px;margin-right:3px}#page a:hover,#page a.current{color:#FFF;background:#32a5e7}