get_formatted_address() public method

Get country address format.
public get_formatted_address ( array $args = [] ) : string
$args array (default: array())
return string address
Exemplo n.º 1
0
/**
 * Generate Address string | array for given seller id or current user
 *
 * @since 2.3
 *
 * @param int seller_id, defaults to current_user_id
 * @param boolean get_array, if true returns array instead of string
 *
 * @return String|array Address | array Address
 */
function dokan_get_seller_address($seller_id = '', $get_array = false)
{
    if ($seller_id == '') {
        $seller_id = get_current_user_id();
    }
    $profile_info = dokan_get_store_info($seller_id);
    if (isset($profile_info['address'])) {
        $address = $profile_info['address'];
        $country_obj = new WC_Countries();
        $countries = $country_obj->countries;
        $states = $country_obj->states;
        $street_1 = isset($address['street_1']) ? $address['street_1'] : '';
        $street_2 = isset($address['street_2']) ? $address['street_2'] : '';
        $city = isset($address['city']) ? $address['city'] : '';
        $zip = isset($address['zip']) ? $address['zip'] : '';
        $country_code = isset($address['country']) ? $address['country'] : '';
        $state_code = isset($address['state']) ? $address['state'] : '';
        $state_code = $address['state'] == 'N/A' ? '' : $address['state'];
        $country_name = isset($countries[$country_code]) ? $countries[$country_code] : '';
        $state_name = isset($states[$country_code][$state_code]) ? $states[$country_code][$state_code] : $state_code;
    } else {
        return 'N/A';
    }
    if ($get_array == TRUE) {
        $address = array('street_1' => $street_1, 'street_2' => $street_2, 'city' => $city, 'zip' => $zip, 'country' => $country_name, 'state' => isset($states[$country_code][$state_code]) ? $states[$country_code][$state_code] : $state_code);
        return $address;
    }
    $country = new WC_Countries();
    $formatted_address = $country->get_formatted_address(array('address_1' => $street_1, 'address_2' => $street_2, 'city' => $city, 'postcode' => $zip, 'state' => $state_code, 'country' => $country_code));
    return apply_filters('dokan_get_seller_address', $formatted_address, $profile_info);
}