Як прибрати поля доставки на сторінці оформлення замовлення у 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;
}
Замість останнього кода можна вимкнути доставку в налаштуваннях вукомерса
Можна якщо доставка взагалі непотрібна. Але якщо потрібно наприклад замінити стандартні поля на доставку нової пошти. Тоді так не можна.