当前位置:首页>WordPress建站>基础教程>WordPress代码:添加分页导航菜单

WordPress代码:添加分页导航菜单

分页导航菜单是一个网站必不可少的元素,今天就和大家分享一下倡萌使用了很久的 WordPress代码实现分页导航 的方法。

导航的效果如图所示:

wpdaxue.com-201210035

实现的方法很简单,一起来折腾吧。

1.将下面的代码放到 functions.php 最后一个 ?> 的前面

function par_pagenavi($range = 9){
	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 "<a href='" . get_pagenum_link(1) . "' class='extend' title='跳转到首页'> 返回首页 </a>";}
	previous_posts_link(' 上一页 ');
    if($max_page > $range){
		if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo "<a href='" . get_pagenum_link($i) ."'";
		if($i==$paged)echo " class='current'";echo ">$i</a>";}}
    elseif($paged >= ($max_page - ceil(($range/2)))){
		for($i = $max_page - $range; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
		if($i==$paged)echo " class='current'";echo ">$i</a>";}}
	elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
		for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){echo "<a href='" . get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a>";}}}
    else{for($i = 1; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
    if($i==$paged)echo " class='current'";echo ">$i</a>";}}
	next_posts_link(' 下一页 ');
    if($paged != $max_page){echo "<a href='" . get_pagenum_link($max_page) . "' class='extend' title='跳转到最后一页'> 最后一页 </a>";}}
}

2.添加下面的css样式到你的 style.css中

.page_navi{overflow:hidden;width:100%;text-align:center}
.page_navi a{height:36px;border:1px solid #DDD;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;color:#888;text-decoration:none;line-height:36px;margin:2px;padding:3px 8px}
.page_navi a:hover,.page_navi a.current{border:1px solid #FFBB76;color:#FF7200;font-weight:bolder}

3.在需要显示的地方(比如主题的 index.php、archive.php、category.php、search.php)中添加下面的调用代码即可

<div class="page_navi"><?php par_pagenavi(9); ?></div>

上面的数字表示最大显示几页,你可以根据自己的需要修改。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
WordPress资讯

WordPress本年度计划发布 3.6、3.7和3.8,将推出开发者资源网站

2013-7-29 13:48:18

基础教程

WordPress代码高亮插件:WP-Syntax

2012-10-11 11:03:38

27 条回复 A文章作者 M管理员
  1. 爱永设计

    如果让显示的数量不受后台 设置 博客页面至多显示 控制

  2. 桥桥

    <a class="blog-tile-1-1__image" href="” style=”background-image: url();”>

    <a class="blog-tile-1-1__title-link" href="”>

    post_content)), 0, 108,”……”); ?><a class="hidden-print" href="”>Learn more

    博主,我这个分页第二页不显示内容是怎么回事啊?

  3. 阿斋

    functions.php 最后一个 ?>
    函数找到了,但是找不到最后一个 ?>
    可以截一下图么?

    • 网站编辑

      如果结尾处没有 ?> 那就直接添加到结尾即可

  4. 7u79

    第二页及其其他分页,和第一页内容一样 怎么办

    • 7u79

      按照本文,将代码添加到function.php最后一个?>前,在category.php的代码如下:

      <a href="”>

      但是点击第二页、第三页等等,页面内容和第一页一样

  5. Joanna Jin

    倡萌,

    当翻页到第2页后,例如是:http://www.ytxinhai.com/muk/page/2,

    那么他的之前的页码,或者显示首页的链接后面多了一个斜杠,http://www.ytxinhai.com/muk/

    这种斜杠怎么删除,看了很久,其实原网址没有斜杠,这就造成一大片的死链,好苦恼哎!

  6. more

    有问题,第二页是404 .。。。

    • 李

      路径错误修改方法
      修改wordpress\wp-includes\classe-wp.php这个文件在这个文件中找到function handle_404()这个函数,源代码如下:
      function handle_404() {
      global $wp_query;
      // If we’ve already issued a 404, bail.
      if ( is_404() )
      return;
      // Never 404 for the admin, robots, or if we found posts.
      if ( is_admin() || is_robots() || $wp_query->posts ) {
      status_header( 200 );
      return;
      }
      // We will 404 for paged queries, as no posts were found.
      if ( ! is_paged() ) {
      // Don’t 404 for these queries if they matched an object.
      if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() ) {
      status_header( 200 );
      return;
      }
      // Don’t 404 for these queries either.
      if ( is_home() || is_search() ) {
      status_header( 200 );
      return;
      }
      }
      // Guess it’s time to 404.
      $wp_query->set_404();
      status_header( 404 );
      nocache_headers();
      }
      把这段代码替换为:
      function handle_404() {
      global $wp_query;
      if ( !is_admin() && ( 0 == count( $wp_query->posts ) ) && !is_404() && !is_robots() && !is_search() && !is_home() ) {
      // Don’t 404 for these queries if they matched an object.
      if ( ( is_tag() || is_category() || is_tax() || is_author() ) && $wp_query->get_queried_object() ) {
      if ( !is_404() )
      status_header( 200 );
      return;
      }
      $wp_query->set_404();
      status_header( 404 );
      nocache_headers();
      } elseif ( !is_404() ) {
      status_header( 200 );
      }
      }

  7. 83136008

    这人代码的风格也太看得让眼睛晕晕了吧, 换下行就好了

  8. 自定义文章类型用page.php模板这个就不管用了,怎么破?

  9. 请问下这段代码需要添加到哪里呢?不太懂代码

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索