checkout полета конфликт

Конфликт между WooCommerce Българизация и Checkout Field Editor – решение

При част от WooCommerce сайтовете се наблюдава конфликт между плъгините Checkout Field Editor / WooCommerce Checkout Manager и плъгина „Bulgarisation for WooCommerce “.

Най-често проблема се появява с невъзможност да бъде завършена поръчката и грешки на екран. Тези грешки са свързани с непопълнени задължителни полета.

Причината е, че и двата плъгина модифицират стандартните WooCommerce checkout полета и влизат в конфликт.

Препоръчително решение

Най-стабилният вариант е:

  1. Да се изключи плъгинът за редакция на checkout полета;
  2. Ненужните WooCommerce полета да се премахнат с custom PHP код като от примера по-долу;
  3. Да се използват стандартните WooCommerce hooks.

Добавете следния код във functions.php на child theme или чрез плъгин като Code Snippets:

add_filter( 'woocommerce_checkout_fields', 'custom_remove_checkout_fields' );
  function custom_remove_checkout_fields( $fields ) {
    // Billing fields
    unset( $fields['billing']['billing_company'] );
    unset( $fields['billing']['billing_country'] );
    unset( $fields['billing']['billing_address_2'] );
    unset( $fields['billing']['billing_postcode'] );
    
    // Shipping fields
    unset( $fields['shipping']['shipping_company'] );
    unset( $fields['shipping']['shipping_country'] );
    unset( $fields['shipping']['shipping_address_2'] );
    unset( $fields['shipping']['shipping_postcode'] );
    return $fields;
}

add_filter( 'woocommerce_default_address_fields', 'custom_adjust_default_address_fields' );
function custom_adjust_default_address_fields( $fields ) {
    unset( $fields['company'] );
    unset( $fields['country'] );
    unset( $fields['address_2'] );
    unset( $fields['postcode'] );
    return $fields;
}

Тук е важно да отбележим, че не е добра практика да се премахне полето „Област“ колкото и досадно да е попълването му. Ако бъде премахнато, Българизацията не зарежда адреси и офиси на куриери, дори и да сте избрали коректно град на доставка.

Важна WooCommerce настройка

За да работи правилно плъгина „Българизация“, е важно в:

WooCommerce → Настройки → Доставка → Настройки на доставката

да бъде избрана опцията:

„Задължително използване на клиентския адрес за фактуриране и за доставката.“

Тази настройка предотвратява конфликт между billing и shipping адресите и осигурява коректна работа на българизацията, куриерските интеграции и checkout формата.