Automattic\WooCommerce\Blocks\Domain\Services

CheckoutFields::add_session_meta_keys()publicWC 1.0

Add session meta keys.

This is an allow-list of meta data keys which we want to store in session.

Method of the class: CheckoutFields{}

No Hooks.

Return

Array.

Usage

$CheckoutFields = new CheckoutFields();
$CheckoutFields->add_session_meta_keys( $keys );
$keys(array) (required)
Session meta keys.

CheckoutFields::add_session_meta_keys() code WC 9.7.1

public function add_session_meta_keys( $keys ) {
	$meta_keys = array();
	try {
		foreach ( $this->get_additional_fields() as $field_key => $field ) {
			if ( 'address' === $field['location'] ) {
				$meta_keys[] = self::BILLING_FIELDS_PREFIX . $field_key;
				$meta_keys[] = self::SHIPPING_FIELDS_PREFIX . $field_key;
			} else {
				$meta_keys[] = self::OTHER_FIELDS_PREFIX . $field_key;
			}
		}
	} catch ( \Throwable $e ) {
		// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
		trigger_error(
			sprintf(
				'Error adding session meta keys for checkout fields. %s',
				esc_attr( $e->getMessage() )
			),
			E_USER_WARNING
		);

		return $keys;
	}

	return array_merge( $keys, $meta_keys );
}