Jak wyłączyć opcję wysyłki pod inny adres

Opublikowany: 2022-01-01

WooCommerce Wyłącz opcję wysyłki na inny adres WooCommerce to świetne darmowe rozwiązanie e-commerce, które ma niesamowicie przydatny zestaw funkcji. Wyróżnia się tym, że WooCommerce został opracowany z myślą o rozszerzalności, podobnie jak modułowość WordPressa.

Ten post zawiera dwie różne części. W pierwszej części podzielę się z Tobą, w jaki sposób możesz całkowicie usunąć wszystkie pola wysyłki, zmuszając klienta do wysłania zamówienia na adres rozliczeniowy. W drugiej części pokażę, jak usunąć opcję „Wyślij na inny adres” i zmusić klienta do wprowadzenia zarówno adresu rozliczeniowego, jak i adresu wysyłki.

Wyłącz opcję wysyłki pod inny adres

Jeśli Twój sklep WooCommerce pozwala tylko na wysyłkę na adres rozliczeniowy klientów, dodatkowe opcje wprowadzania pól wysyłkowych nie są konieczne. Jednak WooCommerce domyślnie ma opcję łatwego usuwania pól wysyłkowych, bez konieczności podawania fragmentu kodu.

Oto jednak warunki wstępne:

  • WordPress (zakładając, że już go masz zainstalowany).
  • Wtyczka WooCommerce (zainstalowana i aktywowana).

Biorąc to wszystko pod uwagę, zanurzmy się w sedno tego artykułu. Kroki są bardzo proste i nie będziesz miał trudności z wdrożeniem tych rozwiązań.

a) Kroki, aby całkowicie usunąć pola wysyłkowe

Oto kroki, które musisz wykonać:

  1. Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
  2. Z menu Pulpit nawigacyjny kliknij WooCommerce > Ustawienia. Spowoduje to otwarcie strony Ustawienia. Kliknij zakładkę Wysyłka, a następnie Opcje wysyłki . Tutaj zobaczysz opcje, takie jak Obliczenia i Miejsce docelowe wysyłki .
  3. W ustawieniu Miejsce docelowe wysyłki użyj opcji „Wymuś wysyłkę na adres rozliczeniowy klienta”, aby całkowicie usunąć pola wysyłki i użyć pól rozliczeniowych zarówno do rozliczenia, jak i wysyłki. Ta opcja pozwala kontrolować, które pola kasy powinny być używane.

Upewnij się, że zapisałeś wprowadzone zmiany.

  1. Aby zobaczyć wynik, przejdź do strony kasy, a zobaczysz, że szczegóły rozliczeniowe zostaną użyte do wysyłki. To będzie wynik:

b) Kroki, aby usunąć opcję „Wyślij na inny adres” i wymusić adres wysyłki

Domyślnie WooCommerce ma ustawienie. Nie wymusza na użytkowniku osobnego dodania adresu do wysyłki. Aby ukryć opcję „Wyślij na inny adres”, możesz zmusić klienta do zakupu produktów i wprowadzenia zarówno adresu rozliczeniowego, jak i adresu wysyłki.

W tej sekcji podzielę się kilkoma prostymi krokami, aby to zrobić. Użyjemy kodu PHP do

  • Ukryj pole wyboru „Wyślij pod inny adres” i dodaj niestandardowy nagłówek.
  • Wymuś adres wysyłkowy przy walidacji kasy.

Oto kroki, które musisz wykonać:

  1. Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
  2. Z menu Dashboard kliknij menu Wygląd > Menu edytora motywów . Po otwarciu strony edytora motywów poszukaj pliku funkcji motywu, w którym dodamy funkcję, która wyświetli obraz produktu na stronie kasy. Ukryj pole wyboru „Wyślij pod inny adres” i dodaj niestandardowy nagłówek.
  3. Dodaj następujący kod do pliku php :
 /**
* Ukryj pole wyboru „Wyślij pod inny adres”.
*/

/**
* Ukryj pole wyboru „Wyślij pod inny adres” / dodaj niestandardowy nagłówek.
* Jeśli chcesz, możesz zastąpić tekst tutaj.
*/

funkcja njengah_js_force_shipping_address() {

?><script type="text/javascript">

var diffAddress = document.querySelector('#ship-to-różny-adres');

diffAddress.outerHTML = '<h3>Szczegóły wysyłki</h3><input type="checkbox" check="sprawdzone" value="1" name="ship_to_różny_adres" class="hidden" style="display: brak;" />';

</script><?php

}

add_action( 'wp_footer', 'njengah_js_force_shipping_address' );

/**
* Wymuś adres wysyłki podczas weryfikacji kasy
*/

funkcja njengah_force_posted_data_ship_to_different_address( $posted_data ) {

$posted_data['ship_to_different_address'] = prawda;

zwróć $wysłane_dane;
}

add_filter( 'woocommerce_checkout_posted_data', 'njengah_force_posted_data_ship_to_different_address' );

// Zauważ, że zastępuje to opcję „Miejsce docelowe wysyłki” w ustawieniach Woo

add_filter( 'woocommerce_ship_to_different_address_checked', '__return_true' );

// Jeśli masz możliwość zamówień tylko wirtualnych, możesz to skomentować

add_filter( 'woocommerce_cart_needs_shipping_address', '__return_true' );

// Zamówienie zawsze ma wysyłkę (na przykład z lokalnym odbiorem)

add_filter( 'woocommerce_order_needs_shipping_address', '__return_true' );

  1. Aby zobaczyć wynik , przejdź do strony kasy, a zobaczysz, że została dodana nowa sekcja ze szczegółami adresu wysyłki. To będzie wynik:

Jak działa kod

Po pierwsze, ten kod ukrywa pole wyboru „Wyślij na inny adres” i możesz dodać własny, niestandardowy nagłówek. Następnie wymusza podanie adresu wysyłki podczas walidacji w kasie. Dodatkowo dodałem filtr, który nadpisuje opcję „Miejsce docelowe” w ustawieniach Woo. Co więcej, dodałem filtr, aby mieć pewność, że zamówienie zawsze zostało wysłane, nawet jeśli jest to odbiór lokalny.

Wniosek

W tym krótkim samouczku podzieliłem się, w jaki sposób można całkowicie usunąć pola wysyłkowe. Podzieliłem się z Tobą prostymi krokami, które musisz wykonać, aby to osiągnąć. Dodatkowo udostępniłem niestandardowy fragment kodu PHP, który należy dodać do pliku functions.php, aby usunąć przesyłkę pod inny adres i wymusić adres wysyłkowy. Mam nadzieję, że ten post dostarczył Ci na to idealnego rozwiązania.

Podobne artykuły