ACF\AI\Abilities

Taxonomy::get_custom_taxonomiespublicACF 6.8.0

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() 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
		),
	);
}