我痛苦了好几个星期GET
在中调用WP REST API
我在那里有一块地ACF
具有多选功能的插件,存储值为array()
.
调用后的响应示例/wp-json/wp/v2/posts
{
...
},
...
"acf": {
...
"ddd": [
"11",
"12",
"13",
"14"
],
...
...
}
还有我打电话时的反应
/wp-json/acf/v3/posts
[
{
...
"acf": {
...
"ddd": [
"11",
"12",
"13",
"14"
],
...
}
}
]
所以,问题是当我在
functions.php
我的主题:
add_filter( \'rest_post_query\', function( $args ) {
$args[\'meta_query\'] = array(
array(
\'key\' => \'ddd\',
\'value\' => esc_sql( $_GET[\'ddd\'] ),
)
);
return $args;
} );
我可以这样过滤:
/wp-json/acf/v3/posts?fieldname=value
我完美地给出了按URL中的术语过滤的帖子,但这适用于简单字段。在我的特殊需要领域
ddd
是一个数组,因为在ACF中,我使用的是一个多选字段。因此,当我尝试使用上面的函数进行筛选时,只会得到一个空响应:
[]
.
我也试过使用Tags
字段来自WordPress Core
, 什么是array
中的值REST
也有响应,但我从未成功地使其工作,甚至使用了不推荐使用的函数filter[key]=&filter[value]=
从…起WordPress
.
有用信息:
我试图通过ACF
开发人员,没有提供相关帮助我使用ACF to REST API
向REST API公开ACF字段的插件,开发人员正试图帮助我解决这个问题我的WordPress是4.9.2,PHP是7.1.12版本我不一定只需要使用URL过滤调用,在PHP中这样做可能会有不同的逻辑,通过一些预循环,可以只过滤带有一些字段值的帖子,如条件,如年龄,地区,性别。。。因为它们将同时是多个过滤器。