问题描述
TLDR - 手动更新自定义帖子后,我的 WP_Query
将更改其排序顺序并将更新后的帖子移至数组响应的末尾。
我有一个名为 Events
的自定义帖子类型,它使用高级自定义字段。我编写了一个短代码,它使用 WP_Query
来查找所有 Events
的 Open
,然后按照它们的 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 (将#修改为@)