'first_name', 'lastName' => 'last_name', 'address1' => 'address_1', 'address2' => 'address_2', ); $skip = apply_filters( 'graphql_woocommerce_customer_address_input_mapping_skipped', array( 'overwrite' ) ); $type = 'empty_' . $type; $address = ! empty( $input['overwrite'] ) && true === $input['overwrite'] ? self::{$type}() : array(); foreach ( $input as $input_field => $value ) { if ( in_array( $input_field, array_keys( $key_mapping ), true ) ) { $address[ $key_mapping[ $input_field ] ] = $value; } elseif ( in_array( $input_field, $skip, true ) ) { continue; } else { $address[ $input_field ] = $value; } } return $address; } /** * Returns default customer shipping address data * * @return array */ public static function empty_shipping() { return array( 'first_name' => '', 'last_name' => '', 'company' => '', 'address_1' => '', 'address_2' => '', 'city' => '', 'state' => '', 'postcode' => '', 'country' => '', ); } /** * Returns default customer billing address data * * @return array */ public static function empty_billing() { return array_merge( self::empty_shipping(), array( 'email' => '', 'phone' => '', ) ); } }