2014-07-19 178 views
2

我已经创建了一个名为archive-event.php的'Event'custom post ape的存档页面。 我使用了标准archive.php模板中的内容,并按照发布顺序列出了我的4个事件。WordPress的自定义帖子类型存档页面wp_query分页不起作用

下一步是通过自定义字段event_date更改顺序。我没有这个问题。然后我想不显示event_date已经过去的任何事件。下面的代码完美地完成了这个。

现在我遇到的问题是我的分页都搞砸了。我将默认阅读设置设置为每页2篇文章,并且我有一个“加载更多”按钮来显示接下来的两篇文章。

当我点击“加载更多”时,它会复制已经显示的两个事件。任何想法,我错了?

<?php 
$today = date("Ymd"); 
$args = array (
    'post_type'  => 'event', 
    'meta_key'  => 'event_date', 
    'orderby'  => 'meta_value', 
    'order'   => 'ASC', 
    'meta_query'  => array(
          array(
           'key' => 'event_date', 
           'value' => $today, 
           'type' => 'numeric', 
           'compare' => '>=', 
           ) 
          ), 
         ); 
$wp_query = new WP_Query($args); 

while($wp_query->have_posts()) 
{ 
$wp_query->the_post(); 
?> 

     <div>Content goes here</div> 


<?php } wp_reset_postdata(); ?> 
+0

你的加载更多按钮是否使用ajax调用,或者你正在使用'next_posts_link()'或'posts_nav_link()'或其他方法吗? –

+0

这是一个阿贾克斯调用。我禁用了插件并回到基本的下一个/后来的分页,我仍然得到同样的问题,所以假设它与插件无关。即使当我点击以前的帖子,它打开了当前的2 ... –

回答

3

根据插件如何构建它可能会或可能不会被尊重内置到WordPress的pagination功能的UI。

尝试迫使paged设置到你的查询,像这样:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array (
    'post_type'  => 'event', 
    'paged'   => $paged, // this will be set to what WordPress thinks is the proper page to start 
    'meta_key'  => 'event_date', 
    'orderby'  => 'meta_value', 
    'order'   => 'ASC', 
    'meta_query'  => array(
          array(
           'key' => 'event_date', 
           'value' => $today, 
           'type' => 'numeric', 
           'compare' => '>=', 
           ) 
          ), 
         ); 

接下来,如果这仍然不起作用,你可以测试的假设paged参数不是通过改变工作由于某种原因像这样(再次,只是为了测试)的默认值paged

$paged = 2; // just force it to start on the second page to see if that works 

如果上述测试工作,我会说,get_query_var()认为你是在第一页上。

+0

在我们的关系中,宣布我对你的爱情还为时过早吗?第一个建议起作用。我知道,通过使用wp_query它忽略了其他默认值,但不知道它是什么。 非常感谢你 –

+0

@ user2272355哈,可能有点早,是啊。与项目玩得开心! –

+0

出于某种原因,如果您在头版上使用get_query_var('page')',则在自定义页面上使用'get_query_var('paged')' – timhc22

相关问题