Skip to content

ACF

config/acf.php

The ACF configuration file contains all settings related to ACF.

Fields are defined in PHP inside acf-php/ and loaded at boot time. This is the preferred approach — it keeps field definitions in version control and out of the database.

This setting is enabled by default.

config/acf.php
return [
'load_php_fields' => true,
];

Disabling this setting will:

  • Stop loading PHP field definitions from acf-php/
  • Re-enable ACF JSON sync (so fields can be managed through the WordPress admin)
  • Remove the custom featured image meta box overrides
config/acf.php
return [
'load_php_fields' => false,
];

Registers ACF options pages. There are two ways to register an options page.

config/acf.php
return [
'register_option_pages' => [
fn() => OptionsPageBuilder::make('My Options Page'),
]
];
config/acf.php
return [
'register_option_pages' => [
fn() => OptionsPageBuilder::make('Theme Settings')
->addChildPage(OptionsPageBuilder::make('General'))
->addChildPage(OptionsPageBuilder::make('SEO')),
]
];
OptionsPageBuilder::make('My Options Page')
->menuTitle('My Page') // override menu title (defaults to page title)
->menuSlug('my-page') // override menu slug (defaults to sanitized page title)
->capability('manage_options') // default: 'edit_posts'
->position(25)
->iconUrl('dashicons-admin-generic')
->postId('my_options') // ACF post ID for get_field() (defaults to 'options')
->autoload();