• 国庆快乐,放假三天

  • 准备增加一个免登录支付功能

  • 微信扫码登录功能已经 ok 了

  • 主题更新一下,修复了头像挂掉的问题

  • 后羿更新网站文章可能不会那么闲了

  • 不得不说,美国贴吧的界面真是难看到死

  • 看到网上新闻美国的贴吧将成为中国公司

  • 推送试试

  • 睡觉之前测试一下

  • 发现了一个非常不错的插件

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

WordPress 云落 5年前 (2014-10-12) 743次浏览 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 自定义文章类型的分页列表调用问题


-- 完 --
WordPress自定义文章类型的分页列表调用问题
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:WordPress自定义文章类型的分页列表调用问题

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

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

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