• 欢迎访问乐趣公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入乐趣公园 QQ群
  • Git主题现已支持PHP7版本,速度应该会提高不少,不过云落的网站本来就很快了,所以感觉不是太明显
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏乐趣公园吧
  • 云落的淘宝店铺已经开张了哦,传送门:https://kimipet.taobao.com

WordPress自定义文章类型的分页列表调用问题

WordPress 云落 4年前 (2014-10-12) 521次浏览 已收录 1个评论

曾经为大家介绍过如何在 WordPress 中创建自定义文章类型 ,具体如何创建可以看看 – WORDPRESS 自定义文章类型∶添加公告功能 。但最近在做一个项目的时候,发现自定义文章类型的分页列表(previous_posts_linknext_posts_link)却无法调用出来。回去认真检查了本站的公告页面也是存在这个问题,获取不到分页列表(本站是自动无限翻页功能失效,通过下面的方法已经完美解决。)

WordPress 自定义文章类型的分页列表调用问题

在网上搜索了一番,发现这类问题存在的挺多的,但大部分问题出现在国外,国内估计比较少发现这类问题。通过查找资料,终于找到了解决方法,在这里分享给大家,希望可以给遇到此类问题的同学一个解决方案。

通常我们在创建完自定义文章类型后,就在后台新建一个页面,然后通过页面模版调用。分页的代码是出现在页面模版中,我们一般的调用代码是:

<?php        $loop = new WP_Query( array( 'post_type' => 'projects' ) );        while ( $loop->have_posts() ) : $loop->the_post();  ?>      <!-- 其他代码 -->     <?php endwhile; ?>  <nav>    <?php previous_post_link('&laquo; '); ?>    <?php next_post_link(' &raquo;'); ?>  </nav>

通过这样子的调用,文章是可以显示完整。但下面的分页却不显示,语法也没有用错。在这里其实需要了解到wp_query的用法,在这里就不多介绍了,以后有机会再谈。那么我们来看看解决方法吧,将上面代码改成如下:

<?php     $temp = $wp_query;     $wp_query = null;     $wp_query = new WP_Query();     $show_posts = 4;  //How many post you want on per page    $permalink = 'Post name'; // Default, Post name    $post_type = 'projects';      //Know the current URI    $req_uri =  $_SERVER['REQUEST_URI'];        //Permalink set to default    if($permalink == 'Default') {    $req_uri = explode('paged=', $req_uri);      if($_GET['paged']) {    $uri = $req_uri[0] . 'paged=';     } else {    $uri = $req_uri[0] . '&paged=';    }    //Permalink is set to Post name    } elseif ($permalink == 'Post name') {    if (strpos($req_uri,'page/') !== false) {    $req_uri = explode('page/',$req_uri);    $req_uri = $req_uri[0] ;    }    $uri = $req_uri . 'page/';      }      //Query    $wp_query->query('showposts='.$show_posts.'&post_type='. $post_type .'&paged='.$paged);     //count posts in the custom post type   $count_posts = wp_count_posts('projects');      while ($wp_query->have_posts()) : $wp_query->the_post();     ?>      <!-- 其他代码-->      <?php endwhile;?>    <nav>    <?php previous_posts_link('« ') ?>    <?php    $count_post = $count_posts->publish / $show_posts;      if( $count_posts->publish % $show_posts == 1 ) {    $count_post++;    $count_post = intval($count_post);    };      for($i = 1; $i <= $count_post ; $i++) { ?>    <a no numeric noise key 1012 href="<?php echo $uri . $i; ?>"><?php echo $i; ?></a>    <?php }    ?>    <?php next_posts_link(' »') ?>    </nav>      <?php     $wp_query = null;     $wp_query = $temp;  // Reset    ?>

上面的代码可以根据你的需求,自行更改固定链接$permalink,同样$post_type更改成你所创建的自定义文章的名称。

代码来源:Designphilic

转载自:WordPress 自定义文章类型的分页列表调用问题


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:WordPress 自定义文章类型的分页列表调用问题
喜欢 (2)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址