解决WordPress自定义页面分页问题

流年
流年
管理员
322
文章
447.8千
浏览
1 1,623字数 617阅读2分3秒

wordpress页面分页功能有很多,插件也有很多,但是自定义页面的分页会让很多wordpress使用者感到苦恼,因为一些自定义页面函数使用问题,网络上的自定义输出文章的代码都是只考虑了功能的实现,却没有为其它功能的兼容性考虑清楚,纵使现在很多人问我这种页面输出文章后怎么分页啊。博客首页的分页代码完全没有用,点来点去都是第一页的问题。

现在我跟着网上的思路试来试去,终于解决了,现在把方法交给大家,而不止是代码,搜索了一番,网上也有少量类似的结果,但是他们都是针对自己的主题直接给出代码,如果不是用他们主题的人是用不了的。

传统的自定义页面输出文章的代码是

 

  1. <?php query_posts();if (have_posts()) : while (have_posts()) : the_post(); ?>  

这正是造成自定义页面无法分页关键因素,如果要实现分页,这段代码是有bug的,所以我们应该替换成:

  1. <?php $limit = get_option('posts_per_page');$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  
  2. query_posts();if (have_posts()) : while (have_posts()) : the_post(); ?>  

按照这种输出格式就能完美解决自定义页面分页功能了,但是实际的自定义页面是有参数设置的,所以带参数的代码我拿个例子来说一下,比如:

  1. <?php query_posts("post_shuo&post_status=publish&posts_per_page=100");if (have_posts()) : while (have_posts()) : the_post(); ?>  

则正确地能分页的代码是:

  1. <?php $limit = get_option('posts_per_page');$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  
  2. query_posts('post_shuo&post_status=publish&showposts=' . $limit=10 . '&paged=' . $paged);if (have_posts()) : while (have_posts()) : the_post(); ?>  

看了这个例子大家应该知道怎么做了。

到此为止并没有结束,自定义页面要分页肯定要分页代码函数啊,所以要在自定义页面中调用分页函数,如果不知道自己的主题的分页函数是什么,可以到index.php里面查看。

博客最后更新:2015-11-22
流年
  • 本文由 流年 发表于2015年9月2日 18:14:51
  • 除非特殊声明,本站文章均为原创,需要转载,请留言说明!
    • dimo
      dimo 0

      完美的解决了我的问题

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    确定

    拖动滑块以完成验证