I would not rely on the version number so I wrote that
if ( class_exists( 'acf' ) ) {
$all_fields = array();
if ( defined( 'ACF_PRO' ) ) {
$field_groups = acf_get_field_groups();
foreach ( $field_groups as $f_group ) {
$group_fields = acf_get_fields( $f_group );
foreach ( $group_fields as $f ) {
$all_fields[] = $f;
}
}
} else {
$field_groups = apply_filters( 'acf/get_field_groups', array() );
foreach ( $field_groups as $f_group ) {
$group_fields = apply_filters( 'acf/field_group/get_fields', array(), $f_group[ 'id' ] );
foreach ( $group_fields as $f ) {
$all_fields[] = $f;
}
}
}
var_dump( $all_fields );
}
I want to get the stored fields, post-independent. There is no function like get_all_registered_fields() so I wrote something like that. And there the differences between the free and the PRO versions matter. See my first post. There I described the reason.
Do you mean function_exists( 'acf_get_setting' )?
Since I do not need the version number but the information whether the installed ACF plugin is the free version or the PRO version I built that code:
$is_acf_free = $is_acf_pro = false;
if ( class_exists( 'acf' ) {
if ( defined( 'ACF_PRO' ) ) {
$is_acf_pro = true;
} else {
$is_acf_free = true;
}
}
It raises an error if the free ACF plugin is installed.
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.