Home › Forums › Backend Issues (wp-admin) › Filter all fields in field group?
We have a field group with a number of regular text fields. Data will be imported into these fields from an outside source, so the fields are just for viewing the information and not editing.
I know you can filter a single field to be read-only with this which works fine:
function my_acf_load_field( $field ) {
$field['disabled'] = 1;
return $field;
}
add_action('acf/load_field/name=field_name', 'my_acf_load_field');
But, is there any way to filter all of the fields in a field group the same way? If we have 20 fields in a group that need to be read-only, is there any way to set them all as read-only that doesn’t involve 20 lines of add_action
hooks?
Thanks!
You may be able to use the field parent and check for the group, but I’m not sure
I would also use prepare_field, not load_field
function my_acf_load_field( $field ) {
if ($field['parent'] == 'group_XXXXXXXXX') {
$field['disabled'] = 1;
}
return $field;
}
add_action('acf/prepare_field', 'my_acf_load_field');
Thanks, John!
I had to modify this a little bit, but it seems like it does the trick. I found that if I didn’t look for a parent value first, things went a little haywire in different spots – for example, when trying to create a new field group.
Updating to this seems to be doing the trick in my quick test:
function my_acf_load_field( $field ) {
// If no parent is found, everything kind of breaks.
if ( ! $field['parent'] ) {
return $field;
}
// Match only the key of the group we want to change.
if ( 'group_XXXXXXXXX' == $field['parent'] ) {
$field['disabled'] = 1;
}
return $field;
}
add_action( 'acf/prepare_field', 'my_acf_load_field' );
Thanks again for the suggestion!
Yes, I forgot about flex fields. Field in a flex field do not have ‘parent’ they have ‘parent_layout’ or some such thing.
you can still to it in a single if like this
if ( !empty$field['parent'] && 'group_XXXXXXXXX' == $field['parent'] ) {
Just dropping a big thank you because this is EXACTLY what I needed to solve.
Thanks!
The topic ‘Filter all fields in field group?’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.