【发布时间】:2021-09-05 06:31:08
【问题描述】:
我正在尝试对混合分类法和元数据的 WP_Query args 数组进行故障排除。
我需要通过过滤器将其传递给插件,因此我无法完全了解它的操作方式。但是,当我只需要坚持分类法时,它可以按预期对 WP_Query 起作用
作为参考,这是一个有效的 args 数组,超过 2 个自定义分类:
array(3) {
["rv_time"]=>
array(3) {
["taxonomy"]=>
string(9) "rv_time"
["field"]=>
string(4) "name"
["terms"]=>
array(1) {
[0]=>
string(5) "1990s"
}
}
["rv_subject"]=>
array(3) {
["taxonomy"]=>
string(12) "rv_subject"
["field"]=>
string(4) "name"
["terms"]=>
array(1) {
[0]=>
string(5) "Alley"
}
}
["relation"]=>
string(3) "AND"
}
这是不起作用的 args 数组,它有一个分类和我需要的元字段
array(3) {
["rv_places"]=>
array(3) {
["meta_key"]=>
string(20) "rv_place_hierarchy"
["meta_compare"]=>
string(1) "LIKE"
["meta_value"]=>
string(6) "Paris"
}
["rv_time"]=>
array(3) {
["taxonomy"]=>
string(9) "rv_time"
["field"]=>
string(4) "name"
["terms"]=>
array(1) {
[0]=>
string(5) "1990s"
}
}
["relation"]=>
string(3) "AND"
}
rv_places 位被完全忽略,即视为 AND 1=1。 rv_place_hierarchy 存在于 wp_postmeta 表中,我正在寻找的值也是。
此 args 数组的预期行为是为我找到 rv_time 分类中包含 1990 年代并在 rv_place_hierarchy 中包含字符串 Paris 的帖子。
谁能帮我找出问题所在?谢谢
【问题讨论】:
标签: wordpress