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

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

HIT

14.11.2021

1849

В 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;
	}

}
[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Настройка полей заказчика

Настройка полей заказчика

При заказе товара необходимо заполнить данные покупателя (имя, телефон, адрес доставки и т.д.). В стандартном варианте поля эти несколько «раздуты», много лишнего, требуется некоторое оформление. Можно использовать плагин Saphali Woocommerce Читать далее »

/
Watermark для изображений товаров (обзор плагинов)

Watermark для изображений товаров (обзор плагинов)

Рассмотрим различные плагины по добавлению водяного знака (watermark) на изображения товаров. WooCommerce Products Image Watermark (BeRocket) Плагин не понравился. Логотип добавляется только одним способом, с указанием положения. Можно перезагрузить загруженные Читать далее »

Разные шаблоны для разных категорий товаров

Разные шаблоны для разных категорий товаров

Учимся создавать разные шаблоны товаров для разных категорий. Данная технология пригодится в оформлении принципиально разных по подаче товаров. Также на основе этого можно создавать посадочные страницы категорий, создавая им любое Читать далее »

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

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

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