ACF Extended allows developers to add custom metas values in the Field Group settings directly from the Field Group administration.
Render this title on edit post screen
Field groups with a lower order will appear first
Shown in field group list
Select items to hide them from the edit screen.
Select user roles that are allowed to view and edit this field group in post edition
View raw field group data.
Array ( [ID] => 37 [key] => group_5f20935b9a777 [title] => Field Group [fields] => Array() [location] => Array ( [0] => Array ( [0] => Array ( [param] => post_type [operator] => == [value] => post ) ) ) [menu_order] => 0 [position] => normal [style] => default [label_placement] => left [instruction_placement] => acfe_instructions_tooltip [hide_on_screen] => Array() [active] => 1 [description] => [acfe_display_title] => [acfe_autosync] => [acfe_permissions] => [acfe_meta] => Array() [acfe_note] => [_valid] => 1 )
WP_Post Object ( [ID] => 37 [post_author] => 1 [post_date] => 2020-07-28 23:06:48 [post_date_gmt] => 2020-07-28 21:06:48 [post_content] => a:13:{s:8:"location";a:1:{i:0;a:1:{i:0;a:3:{s:5:"param";s:9:"post_type";s:8:"operator";s:2:"==";s:5:"value";s:4:"post";}}}s:8:"position";s:6:"normal";s:5:"style";s:7:"default";s:15:"label_placement";s:4:"left";s:21:"instruction_placement";s:25:"acfe_instructions_tooltip";s:14:"hide_on_screen";a:1:{i:0;s:11:"the_content";}s:11:"description";s:0:"";s:18:"acfe_display_title";s:0:"";s:13:"acfe_autosync";s:0:"";s:16:"acfe_permissions";s:0:"";s:9:"acfe_form";i:0;s:9:"acfe_meta";a:2:{s:13:"5f3a7307cc3ba";a:2:{s:13:"acfe_meta_key";s:3:"foo";s:15:"acfe_meta_value";s:3:"bar";}s:13:"5f3a730dcc3bb";a:2:{s:13:"acfe_meta_key";s:3:"key";s:15:"acfe_meta_value";s:5:"value";}}s:9:"acfe_note";s:0:"";} [post_title] => Field Group [post_excerpt] => field-group [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => group_5f20935b9a777 [to_ping] => [pinged] => [post_modified] => 2020-08-17 14:07:55 [post_modified_gmt] => 2020-08-17 12:07:55 [post_content_filtered] => [post_parent] => 0 [guid] => /?post_type=acf-field-group&p=37 [menu_order] => 0 [post_type] => acf-field-group [post_mime_type] => [comment_count] => 0 [filter] => raw )
Add personal note. Only visible to administrators
It is possible to set this setting in PHP using the acf/load_field_group
hook. Note that this hook is used everywhere, including in ACF admin and tools screen. Which means the setting will be used when exporting the field group.
To avoid that behavior, you can use the acfe_is_admin_screen()
function as condition. Usage example:
add_filter('acf/load_field_group', 'my_acf_field_group');
function my_acf_field_group($field_group){
// Bail early if in ACF admin/tool screen
if(acfe_is_admin_screen())
return $field_group;
// Target a specific key
if($field_group['key'] !== 'group_5f20935b9a777')
return $field_group;
// Settings
$field_group['acfe_meta'][] = array(
'acfe_meta_key' => 'foo',
'acfe_meta_value' => 'bar'
);
// Return
return $field_group;
}
Custom meta values are saved in the Field Group array, under acfe_meta
key. It can be retrieved using acf_get_field_group()
. Usage example:
$field_group = acf_get_field_group('group_5f20935b9a777');
/*
* [instruction_placement] => label
* [hide_on_screen] =>
* ...
* [acfe_meta] => Array
* (
* [5f3a7307cc3ba] => Array
* (
* [acfe_meta_key] => foo
* [acfe_meta_value] => bar
* )
*
* [5f3a730dcc3bb] => Array
* (
* [acfe_meta_key] => key
* [acfe_meta_value] => value
* )
* )
* ...
*/
You can then loop thru values using foreach()
. Usage example:
// Get field group
$field_group = acf_get_field_group('group_5f20935b9a777');
// Get field group meta
$field_group_meta = acf_array($field_group['acfe_meta']);
// Loop
foreach($field_group_meta as $row){
$key = $row['acfe_meta_key'];
$value = $row['acfe_meta_value'];
// Do something...
}