当前位置: 首页 > 知识库问答 >
问题:

Wordpress自定义帖子类型存档页面wp_查询分页不工作

艾骏喆
2023-03-14

我创建了一个归档页面,我的'事件'自定义帖子猿archive-event.php.我使用的内容从标准archive.php模板,它列出了我的4个事件的顺序,他们被张贴。

下一步是按自定义字段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(); ?>

共有1个答案

贡俊
2023-03-14

根据插件构建UI的方式,它可能尊重WordPress内置的分页功能,也可能不尊重。

尝试强制将分页设置到您的查询中,如下所示:

$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 = 2; // just force it to start on the second page to see if that works

如果上面的测试有效,我会说get\u query\u var()相信您在第一页。

 类似资料:
  • 我是个新手,我正在努力发展我的第一个主题。 不幸的是,我遇到了一些麻烦与自定义后类型(项目)。我已经尝试了关于这个主题的不同组合(query_post、WP_Query、同花永久链接等)。),但似乎没有一个适合我。 我尝试使用插件wp_pagenavi。 这是我的注册帖子类型,在函数中。php: 以下是模板中列出我的自定义帖子类型“projet”的代码: 目前,这段代码列出了2最后一个自定义帖子类

  • 使用下面的代码,我列出了自定义帖子类型“人物”下的所有帖子 下面是我的页码, 我还创建了一个插件,使用上面的代码在边栏中显示标题列表。因此,每当我访问mysite.com/people这两个网站时(即带有分页的自定义帖子列表 若我转到第二页,侧边栏显示为空。 有人知道我哪里出错了吗?

  • 我有一个自定义的帖子类型设置,有许多类别和子类别。 我试图做的是创建一个页面,显示特定类别中的所有帖子,并使用一个菜单列出所有类别子类别,以便可以过滤帖子。 我已尝试复制存档模板并将其重命名为分类法-(我的自定义分类法)。php,如果我转到slug,它会显示某些帖子,并使用

  • 我创建了一个名为制造商的自定义帖子类型,并添加了大量帖子和类别。单个帖子页面工作,但类别/存档页面不显示任何帖子。 制造商被分成不同的类别,我需要显示每个类别中所有帖子的存档。我去工厂的时候 http://localhost/category/manufactures/ge-speedtronic/ 这就是令人困惑的地方。我为自定义帖子类型“制造商”使用的类别也显示在我的其他自定义帖子类型和默认帖

  • 我有一个自定义分类法分配给一个自定义帖子类型。我创建了一个名为“taxonomy brands.php”的模板,当我访问自定义分类法存档时会调用该模板,但是当我调用该模板中的循环时,它认为我没有任何帖子(它跳过if(have_posts())并执行else{}).我的自定义帖子类型为“has_archive”= 代码中是否有可能导致这种情况?提前感谢你的帮助。 这是我用来注册CPT的代码。 这是我

  • 在我的Wordpress自定义主题中,一个分页,在加载上面1的页面时给出404错误。我已经检查了Permalink和其他东西,但没有scuccess。 请帮我脱掉。 这是我的密码。