ACF\AI\Abilities
Taxonomy::get_custom_taxonomies
Callback for the "acf/get-custom-taxonomies" ability.
Method of the class: Taxonomy{}
No Hooks.
Returns
array.
Usage
$Taxonomy = new Taxonomy(); $Taxonomy->get_custom_taxonomies( $input );
- $input(array) (required)
- Input args (unused).
Changelog
| Since 6.8.0 | Introduced. |
Taxonomy::get_custom_taxonomies() Taxonomy::get custom taxonomies code ACF 6.8.8
public function get_custom_taxonomies( $input ) {
unset( $input ); // Not used, but required by interface.
$custom_taxonomies = array();
// Get ACF custom taxonomies.
$acf_taxonomies = acf_get_acf_taxonomies();
foreach ( $acf_taxonomies as $acf_taxonomy ) {
$taxonomy_name = $acf_taxonomy['taxonomy'] ?? '';
if ( ! $taxonomy_name ) {
continue;
}
if ( empty( $acf_taxonomy['active'] ) || empty( $acf_taxonomy['allow_ai_access'] ) ) {
continue;
}
$taxonomy_object = get_taxonomy( $taxonomy_name );
if ( $taxonomy_object ) {
$taxonomy_data = array(
'taxonomy' => $taxonomy_name,
'label' => $taxonomy_object->label,
'labels' => (array) $taxonomy_object->labels,
'description' => $taxonomy_object->description,
'public' => $taxonomy_object->public,
'hierarchical' => $taxonomy_object->hierarchical,
'object_type' => $taxonomy_object->object_type,
'acf_settings' => $acf_taxonomy,
);
// Add ACF field groups information
$acf_fields = $this->get_acf_fields_for_object( 'taxonomy', $taxonomy_name );
if ( ! empty( $acf_fields ) ) {
$taxonomy_data['acf_field_groups'] = $acf_fields;
}
$custom_taxonomies[] = $taxonomy_data;
}
}
$count = count( $custom_taxonomies );
return array(
'custom_taxonomies' => $custom_taxonomies,
'count' => $count,
'message' => sprintf(
/* translators: %d: Number of ACF custom taxonomies */
_n( 'Found %d ACF custom taxonomy', 'Found %d ACF custom taxonomies', $count, 'acf' ),
$count
),
);
}