acf/prepare_field

Description

Used to modify the $field settings or to prevent the field from being rendered within a form.

This filter is similar to acf/load_field, only it is applied later in the lifecycle when the field is about to be rendered. By this time, the field’s value has also been loaded.

Changelog

  • Added in version 5.0.0

Parameters

apply_filters( 'acf/prepare_field', $field );
  • $field (array) The field array containing all settings (including value).

Modifers

This filter provides modifiers to target specific fields. The following filter names are available:

  • acf/prepare_field Applies to all fields.
  • acf/prepare_field/type={$type} Applies to all fields of a specific type.
  • acf/prepare_field/name={$name} Applies to all fields of a specific name.
  • acf/prepare_field/key={$key} Applies to all fields of a specific key.

Examples

Modifying a field

This example demonstrates how to modify a specific field’s settings before it is rendered.

functions.php

<?php
function my_acf_prepare_field( $field ) {

    // Lock-in the value "Example".
    if( $field['value'] === 'Example' ) {
        $field['readonly'] = true;
    };
    return $field;
}

// Apply to all fields.
// add_filter('acf/prepare_field', 'my_acf_prepare_field');

// Apply to select fields.
// add_filter('acf/prepare_field/type=select', 'my_acf_prepare_field');

// Apply to fields named "example_field".
add_filter('acf/prepare_field/name=example_field', 'my_acf_prepare_field');

// Apply to field with key "field_123abcf".
// add_filter('acf/prepare_field/key=field_123abcf', 'my_acf_prepare_field');

Preventing a field

This example demonstrates how to prevent a field from being rendered.

functions.php

<?php
function my_acf_prepare_field( $field ) {

    // Don't show this field once it contains a value.
    if( $field['value'] ) {
        return false;
    }
    return $field;
}

// Apply to fields named "example_field".
add_filter('acf/prepare_field/name=example_field', 'my_acf_prepare_field');

Black Friday Sale 🎉 Get 30% off new licenses and 15% off early renewals!
Coupon expires Dec 1st (11:59pm GMT) - don't miss out!

* Discounted subscriptions will renew at their full price. Cancel at any time.

Coupon Code
blackfriday2020

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 Cookie Policy. If you continue to use this site, you consent to our use of cookies.