Jako konsument spotykam się czasami z sytuacją, gdy podczas zakupów w sklepie internetowym muszę podać pełne dane adresowe, nawet jeśli zamawiam produkt cyfrowy. Bywa to irytujące dla klientów, a co bardziej ostrożni mogą zrezygnować z zakupów w takim sklepie.
Ponieważ specjalizuję się w WordPressie, pokażę Ci, jak zmodyfikować formularz WooCommerce, aby nie zbierał danych adresowych i nie denerwował Twoich klientów.
Zmiany najlepiej wnieść w motywie potomnym. O tym, jak go utworzyć, pisałam w jednym z wcześniejszych wpisów. Jeśli jednak czujesz, że utworzenie motywu potomnego Cię przerasta, skorzystaj z darmowej wtyczki Code Snippets.
W pliku functions.php w motywie potomnym umieść następujący kod:
add_filter( 'woocommerce_cart_needs_shipping', 'wc_no_shipping' ); function wc_no_shipping( $x ) { return false; } add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { $fields['order']['order_comments']['placeholder'] = 'Uwagi do zamówienia.'; return $fields; }
Funkcja wc_no_shipping
usunie checkbox „Wysłać na inny adres?”, natomiast funkcja custom_override_checkout_fields
zmieni tekst w okienku „Uwagi do zamówienia (opcjonalne)” z „Uwagi do zamówienia, np. informacje o dostarczeniu przesyłki.” na „Uwagi do zamówienia.” (bo przecież nie dostarczasz przesyłki, więc po co mącić klientowi w głowie?).
Już jest nieźle, prawda?
Kolejna rzecz, którą można zrobić, aby klient nie musiał wypełniać zbyt wielu okienek, to oznaczenie pól adresowych jako pola opcjonalne:
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' ); function custom_override_default_address_fields( $address_fields ) { $address_fields['address_1']['required'] = false; $address_fields['address_2']['required'] = false; $address_fields['city']['required'] = false; $address_fields['country']['required'] = false; $address_fields['postcode']['required'] = false; return $address_fields; }
A może by tak całkowice zrezygnować z pola z krajem? Jest na to prosty sposób:
add_filter( 'woocommerce_checkout_fields' , 'custom_unset_checkout_fields' ); function custom_unset_checkout_fields( $fields ) { unset($fields['billing']['billing_country']); return $fields; }
Więcej o możliwościach dostosowania formularza zamówienia WooCommerce do własnych upodobań znajdziecie na stronie WooCommerce.
Bardzo mi pomogłaś tym wpisem. Ogromne dzięki! 🙂
Proszę bardzo! Dzięki za komentarz! 🙂