我正在用wordpress API构建一个站点。我正在使用高级自定义字段ACF to Rest API 在API中公开ACF数据的插件:https://github.com/airesvsg/acf-to-rest-api
现在,我试图通过ACF值过滤响应。我找到了这段代码:
add_filter( \'rest_product_query\', function( $args ) {
$ignore = array(\'per_page\', \'search\', \'order\', \'orderby\', \'slug\');
foreach ( $_GET as $key => $value ) {
if (!in_array($key, $ignore)) {
$args[\'meta_query\'][] = array(
\'key\' => $key,
\'value\' => $value,
);
}
}
return $args;
});
现在,我可以像这样过滤查询:
https://example.com/wp-json/wp/v2/product?length=Customizable问题是,现在我无法访问像这样的api页面https://example.com/wp-json/wp/v2/product?page=2
, 我需要能够做到这一点。
有没有办法重构它,使其仍然能够使用默认的wordpress API过滤器/搜索行为?
或者,还有其他更好的方法来做同样的事情吗?
SO网友:geochanto
好的,我意识到我应该将每个默认WP键添加到$ignore
数组,像这样,我添加了“page”:
$ignore = array(\'page\', \'per_page\', \'search\', \'order\', \'orderby\', \'slug\');