ACF & PHP-API (WordPress)
How can you automatically manage ACF fields? In particular, fill in, delete and edit?
Not directly at database level
To start with some bad news: While ACF fields are stored in tables
wp_postmeta, you cannot write directly to these tables to create ACF fields. Then the 'context' is missing, eg a repeater. So you have to do it via an API call.
Two kinds of fields
There seems to be a distinction between two kinds of ACF fields and how to approach them:
- Fields that are associated with specific posts
- Fiels that are not asssociated with specific posts.
The distinction will be clear in the examples below.
As an example: The home page of a site has ID=7. It has a custom field hero text. How to fetch its value:
<?php require_once("/var/www/example.com/wp-load.php"); the_field("hero_text",7);
Eat more chips!
the_field()displays the value of a field directly
- Alternatively, function
get_field()returns the value rather than directly displaying it.
Retrieve an option field
Let's fetch the value of a field that is available through wp-admin » Options:
- Name of the field figured out by looking up its field group at wp-admin » Custom fields » Field Groups:
- This is a scalar. Not a repeater, array or object. Just a single value
- https://www.advancedcustomfields.com/resources/#functions - All PHP functions together. It's not complete, though!