Opens in a new tab
28th Jan '24
/
0 comments

Conditionally Render ACF Custom Fields in the Post Editor

In the BricksLabs Facebook group a user asked:

Hello! ???? Is it possibile to conditionally show ACF meta boxes based on how many parents a custom post type has? For example, show only if the post being edited has 2 parents.

I attempted to use the filter acf/prepare_field, but without success.

Is there a tutorial or example code available that can guide me in achieving this conditional display? Thanks in advance! ????

ACF has a handy acf/prepare_field filter using which custom fields can be conditionally output when editing posts (can be of any post type).

To render a ACF custom field named “location_specialty” only if the current (location) post has exactly two parents using the acf/prepare_field/name=example_field filter, add this code in

Add the following in child theme‘s functions.php (w/o the opening PHP tag) or a code snippets plugin:

<?php 

add_filter( 'acf/prepare_field/name=location_specialty', function ( $field ) {
	return count( get_post_ancestors( get_the_ID() ) ) === 2 ? $field : false;
} );

Use case: Let’s say you have these location posts:

and you want a “Location Specialty” custom field that’s in a field group attached to the “Location” CPT to only appear when Melbourne (or any other location that has 2 parents similarly) is being edited. This code snippet does the job.

Reference

https://developer.wordpress.org/reference/functions/get_post_ancestors/

Get access to all 633 Bricks code tutorials with BricksLabs Pro

Leave the first comment

 

Related Tutorials..

How to create a dynamic infinite logo slider with ACF and Bricks

How to create a dynamic infinite logo slider with ACF and Bricks

This tutorial provides the builder settings, PHP & CSS codes that can be pasted in order to create an infinite logo slider in pure CSS…
Pro
Meta Box/ACF Images Staggered Grid Gallery in Bricks

Meta Box/ACF Images Staggered Grid Gallery in Bricks

Showing images from two Gallery-type of ACF or Image Advanced-type of Meta Box fields in a staggered grid layout.
Custom Function for ACF Link Field

Custom Function for ACF Link Field

How to output the label of an ACF link field through Dynamic Data.
Categories:
Tags:
Pro
Setting a Bricks template for Parent pages

Setting a Bricks template for Parent pages

This Pro tutorial shows how bricks/active_templates filter can be used to programmatically assign a Bricks template to all singular pages (of any post type) that…
Pro
x Number of Random Bricks Query Loop Items(s) to be Shown Every x Hours

x Number of Random Bricks Query Loop Items(s) to be Shown Every x Hours

Showing how to display one random row of a Meta Box group for an hour and then output another random row.
Pro
Filtering Query Loop Posts by a Non-empty Custom Field in Bricks

Filtering Query Loop Posts by a Non-empty Custom Field in Bricks

This Pro tutorial shows how we can prefilter the results of a query output by a Bricks query loop to only those for which the…
Categories:
Tags: