wordpress如何搞定自定义分页功能

wordpress的主题开发,碰到最让我头痛的就是列表页的分页功能,以及下方的分页页数的样式自定义。花了点时间,写了一个自定义分页函数,以后就可以复制粘贴了。

自定义分页函数
该函数需要搭配query_posts()来使用,所有代码需要放进functions.php文件中

函数说明:
1、$range设定列表显示的最大分页个数,即一个列表页下方显示的分页个数。
2、分页范围内,当前列表高亮class为'hover',可以自定义修改
3、当前页小于等于分页范围中间的页数时,整体分页不会偏移。
4、当前页大于分页范围中间的页数时,整体分页向右偏移,页数各自+1。当前页高亮始终处于分页范围的中间,且整体不会超出最大分页数。
5、调用方法是,在wordpress列表页模板的查询段代码后面,可以使用<div></div>来进行包裹。<div><?php pageNavLink();?></div>

//分页li标签
function echo_li_a($i,$paged){
	if($i == $paged){echo "<a class='hover'>".$i."</a>";}
	else{echo "<li><a href='".get_pagenum_link($i)."'>$i</a></li>";}
}
function pageNavLink($range = 5) {//分页范围,设为奇数具有对称性
	global $paged,$wp_query;
	if (!$max_page) {$max_page = $wp_query->max_num_pages;}//产生的最大分页数
	$startRange = ceil($range/2);//分页范围中间的位置
	if($max_page > 1) {
		if(!$paged) $paged = 1;//首页为0,初始化为1
		if($paged > 1){//如果不在首页
			echo "<li><a href='".get_pagenum_link(1)."'>首页</a></li>";
			echo "<li><a href='".get_pagenum_link($paged-1)."'>上一页</a></li>";
		}
		else{echo "<li><a>首页</a></li>";}//如果在首页
		if($max_page > $range) {//产生的分页数超过范围
			for($i = 1;$i <= $range;$i++){
				if($paged > $startRange && $paged <= $max_page - $startRange + 1){
					//中间。存储$i的值,当前页数减去中间页数,再加上$i得到开始页数,然后循环递增
					$position = $i;$i = $paged - $startRange + $i;
					echo_li_a($i,$paged);$i = $position;
				}
				elseif($paged <= $startRange){echo_li_a($i,$paged);}//前面
				else{
					//后面。存储$i的值,最大页数减去范围页数,再加1得到开始页数
					$position = $i;$i = $max_page - $range + $i;
					echo_li_a($i,$paged);$i = $position;
				}
			}
		}
		//产生的分页数未超过范围
		else{for($i = 1;$i <= $max_page;$i++){echo_li_a($i,$paged);}}
		if($paged == $max_page){echo "<li><a>末页</a></li>";}//如果在末页
		else{//不在末页
			echo "<li><a href='".get_pagenum_link($paged+1)."'>下一页</a></li>";
			echo "<li><a href='".get_pagenum_link($max_page)."'>末页</a></li>";
		}
	}
}

 

 

文章原文:https://blog.luojiasan.com/category/wordpress/1124.html
文章来源:https://blog.luojiasan.com
[声明]本站内容除特别声明外,均属站长手写原创内容。
1、本站所有原创文章、图片等资料,如需转载使用,必须附上来源出处及链接方式;
2、若本站侵犯到您的权益或任何版权问题,请立即告知本站,我们将及时删除并致以最深的歉意!
3、本站转载文章版权归原作者所有,内容为作者个人观点,本站只提供参考并不构成任何投资及应用建议。任何本站转载文章链接及得到的资讯、产品、服务,本站概不负责,亦不负任何法律责任。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇