Skip to content

WYSIWYG inside seamless clone field does not save on Options Pages #1005

@dangelion

Description

@dangelion

Environment

  • ACF Pro: 6.7.1
  • WordPress: 6.9.4
  • PHP: 8.3

Description

A wysiwyg field inside a clone field (display: seamless, prefix_field: 0) does not
persist its value when the clone is placed on an ACF Options Page.

Steps to reproduce

  1. Create a shared field group with a wysiwyg field (e.g. group_shared_title, field key field_shared_title, name title)
  2. Create an Options Page field group that clones it: "type": "clone", "clone": ["group_shared_title"], "display": "seamless", "prefix_field": 0
  3. Enter text in the wysiwyg and save

Expected behavior

options_title in wp_options contains the saved value.

Actual behavior

options_title is empty. The reference row _options_title is written with the clone
field's key
(field_global_cta_newsletter_title) instead of the inner wysiwyg field's
key (field_shared_title), so ACF cannot correctly resolve and persist the value.

POST payload (confirmed via DevTools)

The value IS sent correctly in the request:
acf[field_global_cta_newsletter_title][field_global_cta_newsletter_title_field_shared_title] = "

...

"

But after save, options_title remains empty.

Workaround

Manually intercept acf/save_post and write the value directly to wp_options:

add_action('acf/save_post', function ($post_id) {
if ($post_id !== 'options') return;
$acf = $_POST['acf'] ?? [];
$clone_key = 'field_global_cta_newsletter_title';
$inner_key = $clone_key . '_field_shared_title';
if (isset($acf[$clone_key][$inner_key])) {
update_option('options_title', wp_kses_post($acf[$clone_key][$inner_key]));
}
}, 20);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions