wordpress如何搞定自定义分页功能
本文最后更新于 707 天前,其中的信息可能已经有所发展或是发生改变。

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

评论

  1. Jonathan
    Macintosh Chrome
    2年前
    2022-9-05 1:41:45

    请问您,页头上面首页什么的,还有就是“技术分类”那项如何做出来的?麻烦了!!

    • 博主
      Jonathan
      Windows Edge
      1年前
      2022-9-30 8:50:40

      是通过管理后台左侧列表,外观》菜单中进行添加的。按照你的描述,这个称为导航栏,如果你对于导航栏有定制化需求,例如你说的 “技术分类” 这种;我可以给你看一下我自己写的函数,它用于调用菜单中的设置项,并且生成子菜单。如果有需要的话,请联系我。

发送评论 编辑评论


				
上一篇
下一篇