ACF to REST API
====
Exposes [Advanced Custom Fields](https://wordpress.org/plugins/advanced-custom-fields/) Endpoints in the [WP REST API v2](https://wordpress.org/plugins/rest-api/) ( WP-API | WordPress REST API )
https://wordpress.org/plugins/acf-to-rest-api/
- [Installation](#installation)
- [Endpoints](#endpoints)
- [Filters](#filters)
- [Editing the fields](#editing-the-fields)
- [Example](#example)
Installation
====
1. Copy the `acf-to-rest-api` folder into your `wp-content/plugins` folder
2. Activate the `ACF to REST API` plugin via the plugin admin page
Endpoints
====
| Endpoint | READABLE | EDITABLE |
|----------|:--------:|:--------:|
| /wp-json/acf/v2/post/**{id}** |  |  |
| /wp-json/acf/v2/post/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/page/**{id}** |  |  |
| /wp-json/acf/v2/page/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/user/**{id}** |  |  |
| /wp-json/acf/v2/user/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/term/**{taxonomy}**/**{id}** |  |  |
| /wp-json/acf/v2/term/**{taxonomy}**/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/comment/**{id}** |  |  |
| /wp-json/acf/v2/comment/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/media/**{id}** |  |  |
| /wp-json/acf/v2/media/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/**{post-type}**/**{id}** |  |  |
| /wp-json/acf/v2/**{post-type}**/**{id}**/**{field_name}** |  |  |
| /wp-json/acf/v2/options |  |  |
| /wp-json/acf/v2/options/**{field_name}** |  |  |
Filters
====
| Filter | Argument(s) |
|-----------|-----------|
| acf/rest_api/types | array **$types** |
| acf/rest_api/type | string **$type** |
| acf/rest_api/id | mixed ( string, integer, boolean ) **$id** |
| acf/rest_api/key | string **$key**
WP_REST_Request **$request**
string **$type** |
| acf/rest_api/item_permissions/get | boolean **$permission**
WP_REST_Request **$request**
string **$type** |
| acf/rest_api/item_permissions/update | boolean **$permission**
WP_REST_Request **$request**
string **$type** |
| acf/rest_api/default_rest_base | boolean **$default**
string **$type** |
| acf/rest_api/**{type}**/prepare_item | mixed ( array, boolean ) **$item**
WP_REST_Request **$request** |
| acf/rest_api/**{type}**/get_fields | mixed ( array, WP_REST_Request ) **$data**
mixed ( WP_REST_Request, NULL ) **$request**
mixed ( WP_REST_Response, NULL ) **$response**
mixed ( WP_Post, WP_Term, WP_User, NULL ) **$object** |
If you do not want edit/show the fields of posts. So, you must use the filter `acf/rest_api/types`
```PHP
add_filter( 'acf/rest_api/types', function( $types ) {
if ( array_key_exists( 'post', $types ) ) {
unset( $types['post'] );
}
return $types;
} );
```
Editing the fields
====
The fields should be sent into the key `fields`.

**Action:** http://localhost/wp-json/acf/v2/post/1
```HTML