/ Плагины / Настройка адресов Woocommerce

Настройка адресов Woocommerce

14.11.2021

77

В woocommerce существует 2 типа адресов: billing (адрес плательщика) и shipping (адрес доставки). Поля в обоих типах адресов дублируются. Для нашей страны более характерно использовать billing для данных клиента (без указания адреса), а shipping для адреса доставки (без указания имени и фамилии). Так легче настроить оформление заказа, а именно отключение полей доставки если выбран, например, самовывоз.

Изменяем набор полей

Отключаем лишние поля в каждом из адресов:

// Удаляем поля из адресов Плательщика и Доставки

add_filter( 'woocommerce_billing_fields' , 'custom_override_billing_fields' );

function custom_override_billing_fields( $fields ) {
	//unset($fields['billing_country']); //нельзя отключать ибо не сработает сохранение
	unset($fields['billing_address_1']);
	unset($fields['billing_address_2']);	
	unset($fields['billing_city']);
	unset($fields['billing_state']);
	unset($fields['billing_postcode']);
	return $fields;
}


add_filter( 'woocommerce_shipping_fields' , 'custom_override_shipping_fields' );

function custom_override_shipping_fields( $fields ) {
	unset($fields['shipping_first_name']);
	unset($fields['shipping_last_name']);
	unset($fields['shipping_company']);
	//unset($fields['shipping_country']); //нельзя отключать ибо не сработает сохранение
	unset($fields['shipping_state']);
	unset($fields['shipping_postcode']);
	unset($fields['shipping_address_2']);
	
	//$fields['shipping_city']['data-priority'] = '10';
	
	$fields['shipping_city']   = array(
		'label'        => 'Населённый пункт',
		'required'     => true,
		'class'        => array( 'form-row-wide', '' ),
		'placeholder'  => 'Населённый пункт',
		'priority'     => 20,
	);
	
	return $fields;
}

Данными хуками мы отключаем поля только во вкладке Адреса личного кабинета. Хук woocommerce_default_address_fields отключает поле глобально, при этом даже не нужно указывать префикс billing_ или shipping_. Хук woocommerce_checkout_fields отключает поля только в оформлении.

Изменяем заголовки адресов в ЛК

add_filter( 'woocommerce_my_account_get_addresses', 'er45d_woo_change_title_account' );
function er45d_woo_change_title_account( $account_title ) {
	$account_title = array(
		'billing' => __( 'Данные плательщика', 'text-domain' ),
		'shipping' => __( 'Адрес доставки', 'text-domain' ),
	);
	
	return $account_title;
}

Добавить в вывод информации о плательщике телефон и email

if( is_wc_endpoint_url( 'edit-address' ) ) {

	add_filter( 'woocommerce_my_account_my_address_formatted_address', 'er34d_formatted_address',10, 3 );
	function er34d_formatted_address( $args, $customer_id, $name ){
		$args['phone'] = get_user_meta( $customer_id, $name . '_phone', true );
		$args['email'] = get_user_meta( $customer_id, $name . '_email', true );
		return $args;
	} 


	add_filter( 'woocommerce_localisation_address_formats', 'fe45_localisation_address_formats');
	function fe45_localisation_address_formats( $formats ){
		foreach ( $formats as $key => &$format ) {
			$format .= "\n{phone}";
			$format .= "\n{email}";
		}
		return $formats;
	}


	add_filter( 'woocommerce_formatted_address_replacements', 'er45_formatted_address_replacements', 10, 2 );
	function er45_formatted_address_replacements( $replacements, $args ){

		$replacements['{phone}'] = $args['phone'];
		$replacements['{email}'] = $args['email'];

		return $replacements;
	}

}

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Отзывы к товарам

Отзывы к товарам

Рассмотрим различные аспекты такого функционала WC как отзывы к товарам. Изображения в отзывах Плагин YITH WooCommerce Advanced Reviews (6000) добавляет в комментарии поле изображение (можно добавлять несколько) и заголовок. Также Читать далее »

Настройка доставки

Настройка доставки

Настройка доставки в woocommerce 2.6 кардинальным образом изменилась. Стала более гибкой, но и более сложной в настройке. Разберемся в тонкостях настройки доставки. Зоны доставки Зоны доставки — это определенная территория Читать далее »

/
Юр. или физ. лицо при оформлении

Юр. или физ. лицо при оформлении

Расширим функционал Woocommerce выбором при оформлении заказа: юр. или физ. лицо. Естественно данный выбор будет влиять на множество аспектов самого процесса заказа и прочих функций WC. Создание переключателя и полей Читать далее »

/

Добавить комментарий

Пока нет комментариев. Будь первым!

Настройка адресов Woocommerce
Интеграция форм AmoCRM
Рекомендации для васИнтеграция форм AmoCRMOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.