分页在自定义页面模板中不起作用

时间:2012-10-23 作者:dev-jim

Possible Duplicate:
Pagination not working with custom loop

显然这是一个很受欢迎的问题。已经有很多人对此给出了答案。但不知何故,经过几个小时的搜索,我仍然找不到解决方案。我希望有人能给我一个线索。

目前,我创建了一个页面,用于显示自定义帖子类型中的所有帖子。以下是我的页面模板代码:

<?php

 /*
Template Name:custom post type page
*/
get_header(); ?>

<div id="primary">
  <div id="content" role="main">

    <?php   
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; 

    $args = array(
            \'post_type\'=>array(\'car\',\'bicycle\'),
            \'posts_per_page\'=> 20,
            \'page\'=>$paged,
            );

    $the_query = new WP_Query( $args);
    $num =  $the_query->found_posts;

     if($the_query){
     if ($the_query->have_posts()) : echo $num;
         while ($the_query->have_posts()) : $the_query->the_post();
          echo \'<li><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></li>\';
         endwhile;

        next_posts_link( \'Next\', $the_query->max_num_pages );
        previous_posts_link(\'Previous\', $the_query->max_num_pages ); 


     else : $return_string =  \'no result\';  

     endif; wp_reset_query();  wp_reset_postdata();
    }

   ?>

        </div><!-- #content -->
    </div><!-- #primary -->
这里的问题是当我点击Next (或Previous), 查询结果保持不变。我注意到url显示了页码(page/2/,或page/3/..等等)。以及found_posts() remains same on each page, 一切似乎都正常,只是内容没有显示正确的查询对象。

我还尝试添加\'max_num_pages\'=>2 到wp\\u query参数,但仍然没有帮助。

有人知道吗?

2 个回复
最合适的回答,由SO网友:Adam 整理而成

试试下面的方法,看看效果如何。。

<?php 
  global $paged;
  global $wp_query;
  $temp = $wp_query; 
  $wp_query = null; 
  $wp_query = new WP_Query(); 
  $wp_query->query(\'posts_per_page=10&post_type=your_post_type\'.\'&paged=\'.$paged);
  while ($wp_query->have_posts()) : $wp_query->the_post(); 
?>

<!-- do your loop output here, title, content etc -->

<?php endwhile; ?>

    <?php previous_posts_link(\'&laquo; Newer\') ?>
    <?php next_posts_link(\'Older &raquo;\') ?>

<?php 
  $wp_query = null; 
  $wp_query = $temp; 
?>

SO网友:Mridul Aggarwal

来自法典http://codex.wordpress.org/Using_Permalinks

有时,导航到第二页(以及后续页)的帖子并不能像预期的那样工作。您的页面可能会生成指向具有以下URI之一的页面的链接:

http://www.example.com/page/2/
http://www.example.name/category/categoryname/page/2/
http://www.example/year/month/day/page/2/
http://www.example/year/month/page/2/
单击其中一个链接的结果是页面加载了所有环境(页眉、页脚、侧边栏),但不是一个包含帖子的页面,而是一条错误消息:“抱歉,没有帖子符合该标准。”

这是由于中的故障造成的。WordPress生成的htaccess文件。要修复它,请删除的内容。htaccess文件并重新创建它。

结束

相关推荐

How to set up pagination

这听起来很简单,但我发现它不可能实现。这是我的website, 你可以在主页上看到文章摘要,但我只显示了大约25篇文章中的15篇,通过使用下面代码的“获取文章”插件。我想使用分页在不同的页面上显示其余内容。有什么想法吗?[tpg_get_posts category_name=\"archives\" numberposts=\"15\" shorten_content=\"w790\" ]