Як прибрати поля доставки на сторінці оформлення замовлення у WooCommerce

  • Опубліковано:
  • Оновлено:

Типове рішення, яке можна зустріти на просторах інтернета виглядає наступним чином:

add_filter( 'woocommerce_checkout_fields', 'woo_del_fields');
function woo_del_fields( $fields ) {
	unset( $fields[ 'billing' ][ 'billing_country' ] );
	unset( $fields[ 'billing' ][ 'billing_address_1' ] );
	unset( $fields[ 'billing' ][ 'billing_address_2' ] );
	unset( $fields[ 'billing' ][ 'billing_city' ] );
	unset( $fields[ 'billing' ][ 'billing_state' ] );
	unset( $fields[ 'billing' ][ 'billing_postcode' ] );
	return $fields;
}

Такий код у файлі functions.php дійсно допоможе прибрати поля зі сторінки оформлення замовлення. Але, якщо ви спробуєте оформити замовлення, то отримаєте попередження про те, що ви не заповнили поля для доставки. Тобто полів немає, а заповнювати їх все одно потрібно. Тому попередній код необхідно доповнювати наступним:

add_filter( 'woocommerce_default_address_fields' , 'woo_del_required_fields' );
function woo_del_required_fields( $array ) {
	unset( $array['country']['required']);
        unset( $array['state']['required']);
	unset( $array['postcode']['required']);
	unset( $array['city']['required']);
	unset( $array['address_1']['required']);
	unset( $array['address_2']['required']);
	return $array;
}
Serhii Kolomiitsev
Програміст, працюю з WordPress починаючи з 2010 року.

2 відповіді до “Як прибрати поля доставки на сторінці оформлення замовлення у WooCommerce”

  1. Igor :

    Замість останнього кода можна вимкнути доставку в налаштуваннях вукомерса

    • Serhii Kolomiitsev :

      Можна якщо доставка взагалі непотрібна. Але якщо потрібно наприклад замінити стандартні поля на доставку нової пошти. Тоді так не можна.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *