wordpress列表分页添加Numeric数字分页
wordpress分类页的分页导航默认是上一页下一页,有时我们想让它显示数字分页要如何操作呢?大多数想着是安装一个插件就可以解决了,作为一位喜欢研究的开发者自然就会用代码来实现了,下面随着ytkah一起来看看吧(注意:这种方法可能会让后台无法上传图片和显示图片列表,请使用另外的方法利用内置函数的方法实现wordpress数字分页列表导航)
把下面的代码加入当前主题的function.php文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | function wpbeginner_numeric_posts_nav() { if ( is_singular() ) return ; global $wp_query ; /** Stop execution if there's only 1 page */ if ( $wp_query ->max_num_pages <= 1 ) return ; $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; $max = intval ( $wp_query ->max_num_pages ); /** Add current page to the array */ if ( $paged >= 1 ) $links [] = $paged ; /** Add the pages around the current page to the array */ if ( $paged >= 3 ) { $links [] = $paged - 1; $links [] = $paged - 2; } if ( ( $paged + 2 ) <= $max ) { $links [] = $paged + 2; $links [] = $paged + 1; } echo '<div class="navigation"><ul>' . "\n" ; /** Previous Post Link */ if ( get_previous_posts_link() ) printf( '<li>%s</li>' . "\n" , get_previous_posts_link() ); /** Link to first page, plus ellipses if necessary */ if ( ! in_array( 1, $links ) ) { $class = 1 == $paged ? ' class="active"' : '' ; printf( '<li%s><a href="%s">%s</a></li>' . "\n" , $class , esc_url( get_pagenum_link( 1 ) ), '1' ); if ( ! in_array( 2, $links ) ) echo '<li>…</li>' ; } /** Link to current page, plus 2 pages in either direction if necessary */ sort( $links ); foreach ( ( array ) $links as $link ) { $class = $paged == $link ? ' class="active"' : '' ; printf( '<li%s><a href="%s">%s</a></li>' . "\n" , $class , esc_url( get_pagenum_link( $link ) ), $link ); } /** Link to last page, plus ellipses if necessary */ if ( ! in_array( $max , $links ) ) { if ( ! in_array( $max - 1, $links ) ) echo '<li>…</li>' . "\n" ; $class = $paged == $max ? ' class="active"' : '' ; printf( '<li%s><a href="%s">%s</a></li>' . "\n" , $class , esc_url( get_pagenum_link( $max ) ), $max ); } /** Next Post Link */ if ( get_next_posts_link() ) printf( '<li>%s</li>' . "\n" , get_next_posts_link() ); echo '</ul></div>' . "\n" ; } |
然后在archive.php, category.php等文件中中加入如下代码进行调用
1 | <?php wpbeginner_numeric_posts_nav(); ?> |
最后定义一下css样式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | .navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { color : #fff ; text-decoration : none ; } .navigation li { display : inline ; } .navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { background-color : #6FB7E9 ; border-radius: 3px ; cursor : pointer ; padding : 12px ; padding : 0.75 rem; } .navigation li a:hover, .navigation li.active a { background-color : #3C8DC5 ; } |
参考自https://www.wpbeginner.com/wp-themes/how-to-add-numeric-pagination-in-your-wordpress-theme/

加微信交流
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-07-25 微信公众号ID也可以修改了!