我想将属于页面或自定义帖子类型的所有 ACF 字段公开给 WordPress REST API,以便通过 JavaScript 执行一些 API 调用。
最终的预期结果将是您可以轻松访问的 ACF
对象内的所有 ACF 字段。
最佳答案
另一个简单的解决方案现在非常适合我。
您可以在 functions.php
或 fields.php
上添加以下函数
使用 ACF getFields
在发送休息请求之前。您可以将其添加到任何特殊页面 rest_prepare_page
或 rest_prepare_post
。
ACF 数据将位于带有键 acf
的 json 响应中
// add this to functions.php
//register acf fields to Wordpress API
//https://support.advancedcustomfields.com/forums/topic/json-rest-api-and-acf/
function acf_to_rest_api($response, $post, $request) {
if (function_exists('get_fields') && isset($post->id)) {
$response->data['acf'] = get_fields($post->id);
}
return $response;
}
add_filter('rest_prepare_post', 'acf_to_rest_api', 10, 3);
关于php - 如何在页面和自定义帖子类型中向 Wordpress REST API 公开所有 ACF 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56473929/