ACF\AI\Abilities

FieldGroup::prepare_field_for_ability_importpublicACF 6.8.0

Ensures a field has a key and name before import and sanitizes user input.

Метод класса: FieldGroup{}

Хуков нет.

Возвращает

array. The field with key, name, and sanitized values.

Использование

$FieldGroup = new FieldGroup();
$FieldGroup->prepare_field_for_ability_import( $field );
$field(массив) (обязательный)
The field being prepared for import.

Список изменений

С версии 6.8.0 Введена.

Код FieldGroup::prepare_field_for_ability_import() ACF 6.8.8

public function prepare_field_for_ability_import( $field ) {
	// Generate field name if not provided.
	if ( empty( $field['name'] ) && ! empty( $field['label'] ) ) {
		$field['name'] = acf_slugify( $field['label'], '_' );
	}

	// Generate field key if not provided.
	if ( empty( $field['key'] ) ) {
		$field['key'] = 'field_' . uniqid();
	}

	if ( ! empty( $field['label'] ) ) {
		$field['label'] = sanitize_text_field( $field['label'] );
	}

	if ( ! empty( $field['instructions'] ) ) {
		$field['instructions'] = wp_kses_post( $field['instructions'] );
	}

	if ( ! empty( $field['placeholder'] ) ) {
		$field['placeholder'] = sanitize_text_field( $field['placeholder'] );
	}

	if ( ! empty( $field['prepend'] ) ) {
		$field['prepend'] = sanitize_text_field( $field['prepend'] );
	}

	if ( ! empty( $field['append'] ) ) {
		$field['append'] = sanitize_text_field( $field['append'] );
	}

	if ( ! empty( $field['wrapper']['class'] ) ) {
		$field['wrapper']['class'] = sanitize_text_field( $field['wrapper']['class'] );
	}

	if ( ! empty( $field['wrapper']['id'] ) ) {
		$field['wrapper']['id'] = sanitize_key( $field['wrapper']['id'] );
	}

	if ( ! empty( $field['choices'] ) && is_array( $field['choices'] ) ) {
		$field['choices'] = array_map( 'sanitize_text_field', $field['choices'] );
	}

	if ( isset( $field['min'] ) ) {
		$field['min'] = absint( $field['min'] );
	}

	if ( isset( $field['max'] ) ) {
		$field['max'] = absint( $field['max'] );
	}

	if ( isset( $field['default_value'] ) ) {
		if ( is_string( $field['default_value'] ) ) {
			$field['default_value'] = sanitize_text_field( $field['default_value'] );
		} elseif ( is_array( $field['default_value'] ) ) {
			$field['default_value'] = array_map( 'sanitize_text_field', $field['default_value'] );
		}
	}

	if ( ! empty( $field['message'] ) ) {
		$field['message'] = wp_kses_post( $field['message'] );
	}

	if ( ! empty( $field['conditional_logic'] ) && is_array( $field['conditional_logic'] ) ) {
		$field['conditional_logic'] = $this->sanitize_conditional_logic( $field['conditional_logic'] );
	}

	return $field;
}