ACF\AI\Abilities
Taxonomy::get_custom_taxonomies
Callback for the "acf/get-custom-taxonomies" ability.
Метод класса: Taxonomy{}
Хуков нет.
Возвращает
array.
Использование
$Taxonomy = new Taxonomy(); $Taxonomy->get_custom_taxonomies( $input );
- $input(массив) (обязательный)
- Input args (unused).
Список изменений
| С версии 6.8.0 | Введена. |
Код Taxonomy::get_custom_taxonomies() Taxonomy::get custom taxonomies 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
),
);
}