-
-
Save MelMacaluso/6c4cb3db5ac87894f66a456ab8615f10 to your computer and use it in GitHub Desktop.
<?php | |
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' ); |
Hi, i need help because i have two fields in my post, but my response it empty or null
[ { "id": 1, "date": "2022-06-28T13:10:06", "date_gmt": "2022-06-28T13:10:06", "guid": { "rendered": "http://localhost/mensageria/?p=1" }, "modified": "2022-06-28T21:02:01", "modified_gmt": "2022-06-28T21:02:01", "slug": "hello-world", "status": "publish", "type": "post", "link": "http://localhost/mensageria/2022/06/28/hello-world/", "title": { "rendered": "Hello world!" }, "content": { "rendered": "\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>\n", "protected": false }, "excerpt": { "rendered": "Welcome to WordPress. This is your first post. Edit or delete it, then start writing!", "protected": false }, "author": 1, "featured_media": 0, "comment_status": "open", "ping_status": "open", "sticky": false, "template": "", "format": "standard", "meta": [], "categories": [ 1 ], "tags": [], "acf": [], "_links": { "self": [ { "href": "http://localhost/mensageria/wp-json/wp/v2/posts/1" } ], "collection": [ { "href": "http://localhost/mensageria/wp-json/wp/v2/posts" } ], "about": [ { "href": "http://localhost/mensageria/wp-json/wp/v2/types/post" } ], "author": [ { "embeddable": true, "href": "http://localhost/mensageria/wp-json/wp/v2/users/1" } ], "replies": [ { "embeddable": true, "href": "http://localhost/mensageria/wp-json/wp/v2/comments?post=1" } ], "version-history": [ { "count": 4, "href": "http://localhost/mensageria/wp-json/wp/v2/posts/1/revisions" } ], "predecessor-version": [ { "id": 13, "href": "http://localhost/mensageria/wp-json/wp/v2/posts/1/revisions/13" } ], "wp:attachment": [ { "href": "http://localhost/mensageria/wp-json/wp/v2/media?parent=1" } ], "wp:term": [ { "taxonomy": "category", "embeddable": true, "href": "http://localhost/mensageria/wp-json/wp/v2/categories?post=1" }, { "taxonomy": "post_tag", "embeddable": true, "href": "http://localhost/mensageria/wp-json/wp/v2/tags?post=1" } ], "curies": [ { "name": "wp", "href": "https://api.w.org/{rel}", "templated": true } ] } } ]
Can someone help me out here? Why is
['acf-field-group','acf-field']
the value for$postypes_to_exclude = ['acf-field-group','acf-field']
?Hi there, because is the array of post_types to exclude that can be expanded as needed, if you don't do that (comment it out or make it an empty array) check what happens :)
Hi, my code is the same problem.
But i forgete this field "Show in REST API" in settings you need set to "YES".
So is done, thanks
I was wondering if there was a way to filter this to only show some of the fields (per post type)?
Thank you
Hi there, because is the array of post_types to exclude that can be expanded as needed, if you don't do that (comment it out or make it an empty array) check what happens :)