Wordpress ACF:按关系字段搜索
我使用了ACF关系字段。字段名为Wordpress ACF:按关系字段搜索,wordpress,advanced-custom-fields,Wordpress,Advanced Custom Fields,我使用了ACF关系字段。字段名为国际\分钟\类别\国家。该字段具有多个值 如果我打印它((get_字段(“international_mins_category_a_countries”),get_the_ID()))将打印一个数组- array ( [0] => 737 [1] => 734 [2] => 723 [3] => 1484 } 现在我正在尝试搜索/过滤带有值的帖子,比如说737 但我没有得到任何结果 Code I have
国际\分钟\类别\国家
。该字段具有多个值
如果我打印它((get_字段(“international_mins_category_a_countries”),get_the_ID())
)将打印一个数组-
array
(
[0] => 737
[1] => 734
[2] => 723
[3] => 1484
}
现在我正在尝试搜索/过滤带有值的帖子,比如说737
但我没有得到任何结果
Code I have used to filter that is ---
'meta_query' => array(
array(
'key' => 'international_mins_category_a_countries',
'value' => '737',
'compare' => 'IN',
),
)
但是没有结果。有人能帮忙吗?来自ACF relationship字段的数据以序列化数组的形式存储在数据库中,这不是这种类型查询的理想格式。该数组已压缩为数据库中的单个字符串,而不是存储为多条记录 这意味着您必须使用LIKE子句来查找匹配的记录 您需要将compare参数设置为LIKE,并在ID周围加引号,以防止不精确的匹配(例如7374、5737等) ACF不会让您对这些数据的存储方式有太多的控制,但我要指出,LIKE查询的性能通常很差
文档:因此您只返回关系中的ID-但实际上您可以将其设置为返回整个post对象-这样您就已经拥有了所有的数据。是的,我拥有所有的数据,但我不想选择所有的数据,插入我想选择那些具有ID的数据。您能再解释一下吗?什么类型的关系例如,它是一个关联字段?您还可以提供整个WP查询参数。@justkidding96,这些是另一个帖子类型的id,比如说country。@Alice,您想从该关联字段数组中按id检索所有帖子吗?因此,如果id为7,那么它将匹配737 tooNo,这就是围绕id的双引号的用途。它们将以防止这种类型的错误匹配。
'meta_query' => array(
array(
'key' => 'international_mins_category_a_countries',
'value' => '"737"',
'compare' => 'LIKE',
),
)