acf_field_google_map::format_postal_addressprivateACF 6.8.0

Format value as PostalAddress.

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

Хуков нет.

Возвращает

array|null.

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

// private - только в коде основоного (родительского) класса
$result = $this->format_postal_address( $value );
$value(массив) (обязательный)
The google map value array.

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

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

Код acf_field_google_map::format_postal_address() ACF 6.8.8

private function format_postal_address( $value ) {
	$address = array(
		'@type' => 'PostalAddress',
	);

	// Build street address from components.
	$street_parts = array();
	if ( ! empty( $value['street_number'] ) ) {
		$street_parts[] = $value['street_number'];
	}
	if ( ! empty( $value['street_name'] ) ) {
		$street_parts[] = $value['street_name'];
	}
	if ( ! empty( $street_parts ) ) {
		$address['streetAddress'] = implode( ' ', $street_parts );
	}

	if ( ! empty( $value['city'] ) ) {
		$address['addressLocality'] = $value['city'];
	}

	if ( ! empty( $value['state'] ) ) {
		$address['addressRegion'] = $value['state'];
	}

	if ( ! empty( $value['post_code'] ) ) {
		$address['postalCode'] = (string) $value['post_code'];
	}

	if ( ! empty( $value['country'] ) ) {
		$address['addressCountry'] = $value['country'];
	}

	// Only return if we have at least one address property beyond @type.
	if ( count( $address ) > 1 ) {
		return $address;
	}

	return null;
}