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

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

HIT

14.11.2021

1674

В 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]
  • Похожие записи
  • Комментарии
  • Вложения
Приложить к товару файл

Приложить к товару файл

Рассмотрим какие существуют решение по добавлению к товару файлов: изображений, текстов и прочего. Customer Upload Files for WooCommerce Платное решение от Woo за 49$ (14.04.2021). Включает функционал по добавлению файла(ов) Читать далее »

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

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

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

Шорткоды woocommerce

Шорткоды woocommerce

Для вывода (например) на главной странице сайта элементов WC. Последние продуктыПолезно для использования на главной странице. Определяет, сколько товаров показывать на странице и количество сколько столбцов. Код: Рекомендуемые (featured)Работает точно Читать далее »

/

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

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

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