How to expose all the ACF fields to WordPress REST API in both pages and custom post types. Through the following code, you will be able to expose page and your custom postypes ACF fields in the wordpress REST API and access them inside the ACF object.
You can obviously customise the postypes to exclude or to include in the arrays: $postypes_to_exclude and $extra_postypes_to_include.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function create_ACF_meta_in_REST() { $postypes_to_exclude = ['acf-field-group','acf-field']; $extra_postypes_to_include = ["page"]; $post_types = array_diff(get_post_types(["_builtin" => false], 'names'),$postypes_to_exclude); array_push($post_types, $extra_postypes_to_include); foreach ($post_types as $post_type) { register_rest_field( $post_type, 'ACF', [ 'get_callback' => 'expose_ACF_fields', 'schema' => null, ] ); } } function expose_ACF_fields( $object ) { $ID = $object['id']; return get_fields($ID); } add_action( 'rest_api_init', 'create_ACF_meta_in_REST' ); |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.