ACF & PHP-API (WordPress)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

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_options or 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.

Retrieve a post-related field

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);

Output:

Eat more chips!
  • Function 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: webshop_country_code
  • This is a scalar. Not a repeater, array or object. Just a single value

See also

Sources