【发布时间】:2021-06-20 18:00:53
【问题描述】:
如果您将“发布”更改为“草稿”或删除源子句,则查询有效。这些是传递给 WP_Query 构造函数的参数。我立即计算结果以验证 WP_Query 实际上没有返回任何结果。我检查了数据库中的数据,并确保数据是一致的。
Array
(
[post_type] => post
[post_status] => Array
(
[0] => publish
)
[meta_query] => Array
(
[view_count_clause] => Array
(
[key] => _viewcount
[type] => NUMERIC
)
[actual_date_clause] => Array
(
[key] => _actualdate
)
[start_date_clause] => Array
(
[key] => _actualdate
[value] => 2021-03-23 00-00-00
[compare] => >
)
[end_date_clause] => Array
(
[key] => _actualdate
[value] => 2021-03-24 00-00-00
[compare] => <
)
[color_clause] => Array
(
[key] => _color
[type] => NUMERIC
[compare] => IN
[value] => Array
(
[0] => 4
)
)
[source_clause] => Array
(
[key] => _sourcename
[value] => AHA
[compare] => =
)
)
[orderby] => Array
(
[actual_date_clause] => DESC
)
)
【问题讨论】:
-
如果不显示实际的 WP_Query 请求,很难理解问题所在
-
相关问题在这里....stackoverflow.com/questions/43556074/… 这些问题应该被赞成,因为 wp_query 的元查询限制没有得到很好的记录。
-
解决方案:似乎有 5 个元查询的限制,尽管将帖子状态设置为草稿似乎允许 6 个元查询,这更不寻常。使用源子句时,我能够删除其中一个元查询子句,并通过删除的元查询子句手动过滤。手动过滤的子句的选择应该取决于哪个子句适用于最小的数据集。