Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

acf-to-rest-api

> 编程语言
Open source

Exposes Advanced Custom Fields Endpoints in the WordPress REST API

1.4K stars0 likes1 views
WebsiteGitHub

About

Exposes Advanced Custom Fields Endpoints in the WordPress REST API

ACF to REST API ==== Exposes [Advanced Custom Fields](https://wordpress.org/plugins/advanced-custom-fields/) Endpoints in the [WordPress REST API](https://developer.wordpress.org/rest-api/) https://wordpress.org/plugins/acf-to-rest-api/ - [Installation](#installation) - [Endpoints](#endpoints) - [Filters](#filters) - [Deprecated Filters ](#deprecated-filters) - [Request API Version ](#request-api-version) - [Field Settings ](#field-settings) - [Editing the Fields](#editing-the-fields) - [Examples](#examples) - [Get ACF Fields Recursively ](#get-acf-fields-recursively) - [Cache](#cache) 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/v3/posts | ✅ | ❌ | | /wp-json/acf/v3/posts/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/posts/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/pages | ✅ | ❌ | | /wp-json/acf/v3/pages/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/pages/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/users | ✅ | ❌ | | /wp-json/acf/v3/users/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/users/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/**{taxonomy}** | ✅ | ❌ | | /wp-json/acf/v3/**{taxonomy}**/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/**{taxonomy}**/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/comments | ✅ | ❌ | | /wp-json/acf/v3/comments/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/comments/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/media | ✅ | ❌ | | /wp-json/acf/v3/media/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/media/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/**{post-type}** | ✅ | ❌ | | /wp-json/acf/v3/**{post-type}**/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/**{post-type}**/**{id}**/**{field-name}** | ✅ | ✅ | | /wp-json/acf/v3/options/**{id}** | ✅ | ✅ | | /wp-json/acf/v3/options/**{id}**/**{field-name}** | ✅ | ✅ | Filters ==== | Filter | Argument(s) | |-----------|-----------| | acf/rest_api/id | mixed ( string, integer, boolean ) **$id**
string **$type**
string **$controller** | | 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/**{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** | | acf/rest_api/field_settings/show_in_rest | boolean **$show** | | acf/rest_api/field_settings/edit_in_rest | boolean **$edit** | Basic example of how to use the filters, in this case I will set a new permission to get the fields ```PHP add_filter( 'acf/rest_api/item_permissions/get', function( $permission ) { return current_user_can( 'edit_posts' ); } ); ``` Deprecated filters ==== | Filter | Argument(s) | |-----------|-----------| | acf/rest_api/type | string **$type** | | acf/rest_api/types | array **$types** | | acf/rest_api/default_rest_base | boolean **$default**
string **$type** | Request API version ==== See below how to select the Request API Version. 1. Open the plugins page; 2. Click the settings link under the pluing name ( `ACF to REST API` ); 3. Select your version in the `ACF to REST API` session; 4. Click in the button Save changes. The other alternative is to define the constant `ACF_TO_REST_API_REQUEST_VERSION` in your `wp-config.php` ```PHP define( 'ACF_TO_REST_API_REQUEST_VERSION', 2 ); ``` Field Settings ==== In this version is possible to configure the field options via admin. The options are enabled using the filters below, by default theses options are disabled. ```PHP // Enable the option show in rest add_filter( 'acf/rest_api/field_settings/show_in_rest', '__return_true' ); // Enable the option edit in rest add_filter( 'acf/rest_api/field_settings/edit_in_rest', '__return_true' ); ``` Editing the fields ==== The fields should be sent into the key `fields`. **Action:** http://localhost/wp-json/acf/v3/posts/1 ```HTML Site: Save ``` **Action:** http://localhost/wp-json/wp/v2/posts/1 ```HTML Title:

ACF

Site: Save ``` Use the filter `acf/rest_api/key` to change the key `fields`. ```PHP add_filter( 'acf/rest_api/key', function( $key, $request, $type ) { return 'acf_fields'; }, 10, 3 ); ``` Now, the fields should be sent into the key `acf_fields` ```HTML Site: Save ``` Examples ==== Sample theme to edit the ACF Fields. https://github.com/airesvsg/acf-to-rest-api-example To-do list https://github.com/airesvsg/to-do-list-acf-to-rest-api Get ACF Fields Recursively ==== https://github.com/airesvsg/acf-to-rest-api-recursive More details: - Issues - https://github.com/airesvsg/acf-to-rest-api/issues/109 - https://github.com/airesvsg/acf-to-rest-api/issues/223 - https://github.com/airesvsg/acf-to-rest-api/issues/9 - Pull Request - https://github.com/airesvsg/acf-to-rest-api/pull/95 Cache ==== Enable caching for WordPress REST API and increase speed of your application. https://github.com/airesvsg/wp-rest-api-cache

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

PHPacfapicustomfields

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言