Wordpress 4.7
的更新
随着 Wordpress 4.7 的发布,REST 功能不再作为一个独特的插件提供,而是作为一个插件提供(不需要插件)。
以前的过滤器似乎不起作用。但是,以下 sn-p 可以(可以在您的 functions.php 中):
>= PHP 5.3
add_filter('rest_prepare_post', function($response) {
$response->data['acf'] = get_fields($response->data['id']);
return $response;
});
add_filter('rest_prepare_post', 'append_acf');
function append_acf($response) {
$response->data['acf'] = get_fields($response->data['id']);
return $response;
};
注意过滤器是一个通配符过滤器,应用类似于
apply_filters("rest_prepare_$type", ...
因此,如果您有多种内容类型(自定义),则需要这样做:
add_filter('rest_prepare_multiple_choice', 'append_acf');
add_filter('rest_prepare_vocabularies', 'append_acf');
function append_acf($response) {
$response->data['acf'] = get_fields($response->data['id']);
return $response;
};
注意似乎rest_prepare_x 被称为每条记录。因此,如果您正在 ping 索引端点,它将被多次调用(因此您不需要检查它的帖子或帖子)