为什么 WP_Query 结果在更新不相关的高级自定义字段 (ACF) 后会发生变化?

问题描述

TLDR - 手动更新自定义帖子后,我的 WP_Query 将更改其排序顺序并将更新后的帖子移至数组响应的末尾。

我有一个名为 Events自定义帖子类型,它使用高级自定义字段。我编写了一个代码,它使用 WP_Query 来查找所有 EventsOpen,然后按照它们的 final_deadline 和它们的 priority 对它们进行排序。

以下是我的查询的参数:

$today_is = date('Y-m-d',time());

$open_events_args = array(
        'post_type'=> 'events','offset' => 0,'Meta_query' => array(
            'relation' => 'AND','final_deadline' => array(
                'key' => 'final_deadline_date','value' => $today_is,'compare' => '>=',),'open_value' => array(
                'key' => 'is_open','value' => 'Open','compare' => '=','priority' => array(
                'key' => 'event_priority','compare' => 'EXISTS',)
        ),'orderby' => array (
            'final_deadline' => 'ASC','priority' => 'ASC','post_status' => 'publish','posts_per_page' => -1,'fields' => 'ids',);

    $the_open_query = new WP_Query($open_events_args);
    $open_events = $the_open_query->get_posts();

我的许多高级自定义字段都是通过 API 调用以编程方式设置的。我发现 WP_Query 最初返回了正确的结果,但是一旦我手动更新事件帖子(不更改任何字段),该帖子就会移动到 $open_events 数组的末尾并且不正常。

如果我更新了另一篇文章,它也会移到数组的末尾。最终,open_events 数组被分叉了。第一部分包含未手动更新的事件,第二部分包含已更新的事件……并且每个部分的顺序都正确。

我继续手动更新了我的 17 个事件,并认为这可以解决它。但是,现在我将图像添加到新的高级自定义字段,这个过程又要重新开始了。更新的事件正在移动到数组的末尾且无序。

有谁知道是什么导致了这个问题,我该如何解决?更新不相关的自定义字段应该不会影响我的 WP_Query,但它一直在发生,我不知道为什么。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)