W WooCommerce – tak, jak w wielu innych systemach – pole przeznaczone na wpisanie ulicy i numeru domu (oraz ewentualnie mieszkania) składa się z dwóch linijek – podstawowejm, oraz opcjonalnej, przeznaczonej na “ciąg dalszy adresu”. W większości przypadków jest to pole wręcz zbyteczne, stąd czasem jest nawet ukrywane, w ramach upraszczania formularza. Ostatnio jednak “konsultowałem” sytuację odwrotną – nie tylko go nie chowamy, ale wręcz “przywracamy” etykietę tego pola, oraz robimy, by było wymagane.
Modyfikacja pola “ciąg dalszy adresu” na przykładzie WooCommerce
Nie wnikając w realny powód takie działania, wyobraźmy sobie sytuację, że sprzedajemy produkty z dostawą i tym samym w ramach usługi oferujemy też wniesienie do domu. W takiej sytuacji – zwłaszcza w kontekście produktów większych i/lub cięższych – oprócz dokładnego adresu warto zapytać o kondygnację, na którą zamówienie ma zostać dostarczone. I właśnie do czegoś takiego można wykorzystać opcjonalne pole “ciąg dalszy adresu” (lub “uwagi do zamówienia).
Pozyskanie takiej informacji w standardowej sytuacji w dużej mierze zależy od kupującego. A konkretnie od tego, czy uzna za potrzebne, by taką informacją się z nami podzielić. Dlatego, jeśli jest to dla nas istotna informacja, warto kupującemu pomóc, i po prostu zażądać odpowiedniej informacji. I właśnie do tego można wykorzystać pole “ciąg dalszy adresu”:
W przypadku sklepu internetowego na WooCommerce (WordPress) wymaga to – wyświetlenie i zmiana etykiety, tekstu podpowiedzi (zastępczego), oraz ustawienie pola jako wymaganego – kilku linijek kodu, np. w pliku functions.php (oczywiście w motywie potomnym).
Wyzerowanie klasy CSS etykiety, by była widoczna dla każdego:
$fields['address_2']['label_class'] = '';
Ustawienie etykiety, w naszym przypadku “kondygnacja”:
$fields['address_2']['label'] = 'Kondygnacja';
Dodanie tekstu zastępczego (placeholder):
$fields['address_2']['placeholder'] = 'Podaj kondygnację, na którą towar ma zostać wniesiony';
Oraz ustawienie pola jako wymagane:
$fields['address_2']['required'] = true;
I na koniec całość wystarczy upakować do funkcji oraz podpiąć do odpowiedniego filtra:
function webinsider_wp_wc_default_address_fields( $fields ) {
$fields['address_2']['label_class'] = '';
$fields['address_2']['required'] = true;
$fields['address_2']['label'] = 'Kondygnacja';
$fields['address_2']['placeholder'] = 'Podaj kondygnację, na którą towar ma zostać wniesiony';
return $fields;
}
add_filter( 'woocommerce_default_address_fields' , 'webinsider_wp_wc_default_address_fields' );
I to tyle. Od tego momentu, tak jak na grafice powyżej (prawa strona), w formularzu zamówienia opcjonalne pole “ciąg dalszy adresu” zostanie zastąpione obowiązkowym polem “kondygnacja”.
- Mały dron, duże zamieszanie, czyli seria DJI Mini i zabawa w klasy (unijne klasy dla dronów) z EASA i użytkownikami - 1970-01-01
- Opcja “restore_from_flash”, czyli sposób na zapamiętywanie ustawień w ESPHome na układach ESP8266 - 1970-01-01
- Blokowe szablony powiadomień (block notice) w WooCommerce, nawet w klasycznych motywach - 1970-01-01