Zacznijmy od ustalenia, dlaczego możesz chcieć ukryć przycisk Dodaj do koszyka. Jednym z najskuteczniejszych sposobów wyłączenia procesu zakupu dla określonego produktu lub sklepu jest usunięcie przycisku Dodaj do koszyka. Choć może się to wydawać dziwne, usunięcie przycisku Dodaj do koszyka może być niezwykle przydatne w niektórych okolicznościach.
Istnieje wiele powodów, dla których możesz chcieć usunąć przycisk Dodaj do koszyka z niektórych stron swojego sklepu, poza chęcią uzyskania większej liczby opcji personalizacji:
- Kiedy produkt jest niedostępny lub nie jest już dostępny
- Aby dezaktywować przycisk na podstawie logiki (np. dla określonych ról użytkownika lub produktów, użytkowników niezalogowanych itp.)
- Produkt nie jest jeszcze dostępny w sprzedaży.
- Gdy chcesz, aby klienci używali tego przycisku zamiast standardowego procesu zakupu WooCommerce, aby wysłać wiadomość lub umówić się na wywiad.
To tylko kilka przykładów sytuacji, w których możesz chcieć ukryć lub usunąć przycisk Dodaj do koszyka ze swojego sklepu. Zacznijmy od usunięcia przycisku Dodaj do koszyka WooCommerce ze swojego sklepu.
{automatycznie}
Jak usunąć przycisk Dodaj do koszyka w WooCommerce
W tym artykule dowiesz się, jak ukryć przycisk „dodaj do koszyka” na różne sposoby. Pokażemy Ci, jak wykonać poniższe czynności, aby dać Ci więcej opcji:
- Usuń lub ukryj przycisk Dodaj do koszyka na całej stronie.
- Ukryj przycisk Dodaj do koszyka dla użytkowników, którzy nie są zalogowani.
- Usuń przycisk Dodaj do koszyka na podstawie ról użytkownika.
- Ukryj przycisk Dodaj do koszyka przy niektórych produktach.
- Wyłącz przycisk Dodaj do koszyka tylko dla niektórych kategorii
- Usuń przycisk tymczasowo, a pojawi się on ponownie po upływie określonego czasu.
- Przyjrzyjmy się każdemu z nich w różnych sekcjach.
Uwaga: Ponieważ będziemy edytować podstawowe pliki WordPress, zalecamy wykonanie pełnej kopii zapasowej witryny na wypadek, gdyby coś poszło nie tak. Możesz również wykorzystać motyw potomny. Jeśli jeszcze go nie masz, możesz go utworzyć samodzielnie lub użyć wtyczki motywu potomnego.
1. Usuń lub ukryj przycisk Dodaj do koszyka na całej stronie
Istnieje kilka opcji całkowitego usunięcia przycisku Dodaj do koszyka ze sklepu. Jedną z najprostszych jest umieszczenie następującego skryptu w Twoim motyw potomny plik functions.php:
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
Usuwamy przycisk Dodaj do koszyka na stronie produktu za pomocą pierwszego haka remove action(), a to samo robimy na stronie koszyka za pomocą drugiego. Z drugiej strony, wyłączenie opcji kupowania produktów jest bardziej przejrzystym i niezawodnym rozwiązaniem. W ten sposób będziesz mógł sprawić, że produkty będą niedostępne do zakupu i uniemożliwić użytkownikom dodawanie ich do koszyka.
Możesz to zrobić za pomocą poniższego skryptu i sprawić, że wszystkie Twoje produkty staną się niedostępne do zakupu w sklepie:
add_filter( 'woocommerce_is_purchasable', '__return_false');
Spowoduje to wyłączenie przycisku WooCommerce Dodaj do koszyka, ale nie samego przycisku. Zostanie on po prostu zastąpiony przyciskiem Przeczytaj więcej, przekierowującym użytkowników na stronę produktu, która będzie wolna od jakichkolwiek przycisków.
Jeśli chcesz ukryć przycisk Czytaj więcej oprócz przycisku Dodaj do koszyka, powinieneś użyć reguły CSS. Klienci z drugiej strony nie będą mogli nic kupić, ponieważ nie będą mogli dodawać produktów do koszyka, nawet jeśli nauczą się używać narzędzia deweloperskiego przeglądarki, aby go wyświetlić. Używaj haka add filter() zamiast haka remove action(), kiedy tylko jest to możliwe.
Czytaj więcej: Jak zmienić tekst przycisku Dodaj do koszyka
2. Ukryj przycisk Dodaj do koszyka dla użytkowników, którzy nie są zalogowani
Załóżmy, że prowadzisz promocję ograniczoną czasowo dla zarejestrowanych użytkowników. Możesz utworzyć unikalną stronę docelową i wysłać wiadomość e-mail tylko do zarejestrowanych użytkowników z linkiem, ale co jeśli udostępnią go innym? Możesz usunąć przycisk Dodaj do koszyka ze swojego sklepu WooCommerce tylko dla niezalogowanych użytkowników, aby uniknąć takiej sytuacji i upewnić się, że udzielasz rabatów tylko docelowemu klientowi. Aby to zrobić, wklej następujący skrypt do pliku functions.php motywu potomnego:
jeśli (!is_user_logged_in()) {
// na stronie produktu
add_filter('woocommerce_is_purchasable', '__return_false');
}
Przycisk Dodaj do koszyka wyłączymy tylko dla użytkowników niezalogowanych, stosując natywną funkcję WordPressa is user signed in().
3. Usuń przycisk Dodaj do koszyka na podstawie ról użytkownika
Inną genialną opcją jest wyłączenie przycisku Dodaj do koszyka w zależności od roli użytkownika. Przyjrzyjmy się, jak sprawić, by przycisk był niewidoczny dla każdego użytkownika z uprawnieniami administratora:
dodaj_akcję('wp_loaded','get_user_role');
funkcja get_user_role(){
$bieżący_użytkownik = wp_get_bieżący_użytkownik();
jeśli(liczba($current_user->roles)!==0){
jeśli($current_user->roles[0]=='administrator'){
add_filter('woocommerce_is_purchasable', '__return_false');
}
}
}
Obiekt użytkownika WordPress jest pobierany, a skrypt stosuje do niego dwa warunki. Pierwszy z nich określa, czy użytkownik ma rolę, a drugi sprawia, że produkty są niedostępne do zakupu tylko wtedy, gdy rola użytkownika odpowiada roli, którą określimy (w tym przypadku administrator). Możesz z pewnością użyć tego kodu i zmienić rolę, której nie chcesz widzieć w przycisku Dodaj do koszyka, edytując rolę w if($current_user->roles[0]=='your_role'){.
4. Ukryj przycisk Dodaj do koszyka w przypadku niektórych produktów
Załóżmy, że nie masz na stanie pewnych produktów i chcesz tymczasowo ukryć przycisk Dodaj do koszyka dla tych produktów.
Skopiuj i wklej poniższy skrypt do pliku functions.php motywu potomnego, aby usunąć przyciski dla określonych produktów:
add_filter('woocommerce_jest_do_zakupu', 'filtr_jest_do_zakupu', 10, 2);
funkcja filter_is_purchasable($is_purchasable, $product ) {
globalny $product;
jeśli( w_tablicy( $produkt->get_id(), nie_do_zakupu() )) {
return false;
}
zwróć $is_purchasable;
}
funkcja not_purchasable_ids() {
zwróć tablicę (624,625);
}
Przycisk Dodaj do koszyka jest wyłączony dla produktów o identyfikatorach 624 i 625 w tym przykładowym skrypcie. Rozważ zastąpienie tych identyfikatorów identyfikatorami produktów WooCommerce, aby dostosować je do swojego sklepu. Jak widać, możesz zezwolić na nieograniczoną liczbę produktów, po prostu używając przecinka do rozdzielenia identyfikatorów.
Przejdź do pulpitu WordPress > WooCommerce > Produkty i najedź kursorem myszy na produkt na liście, aby zobaczyć jego identyfikator.
5. Wyłącz przycisk Dodaj do koszyka tylko dla niektórych kategorii
Możesz również wyłączyć przycisk Dodaj do koszyka dla określonych kategorii. Na przykład, jeśli chcesz ukryć przycisk w kategorii „Laptopy”, możesz użyć następującego kodu:
add_action('wp', 'QL_remove_add_to_cart_from_category' );
funkcja QL_remove_add_to_cart_from_category(){
jeśli( is_product_category( 'laptopy' ) ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
}
}
Wystarczy skopiować ten kod i w wierszu 3 zastąpić „laptops” tytułem kategorii, w której przycisk Dodaj do koszyka ma być ukryty.
6. Usuń przycisk tymczasowo, a pojawi się on ponownie po upływie określonego czasu
Przenieśmy sprawy na inny poziom i połączmy część tego, co przeczytaliśmy. Załóżmy, że zamierzasz wprowadzić produkt na rynek i już utworzyłeś stronę produktu ze wszystkimi jego funkcjami. Jeśli chcesz użyć tej strony, aby poinformować klientów o wprowadzeniu produktu i promować go przed jego udostępnieniem, możesz ukryć przycisk Dodaj do koszyka do czasu oficjalnego wprowadzenia, a następnie automatycznie wyświetlić go w dniu wprowadzenia na rynek.
Załóżmy, że planujesz wprowadzić swój produkt 15 grudnia 2020 r. i chcesz ukryć przycisk Dodaj do koszyka do tego czasu, a następnie ponownie go wyświetlić 15 grudnia. Aby to zrobić, po prostu skopiuj i wklej poniższy skrypt:
add_filter( 'woocommerce_jest_dostępny_do_zakupu', 'ukryj_przycisk_dodawania_do_koszyka_do_daty', 10, 2 );
funkcja hide_add_to_cart_button_until_date( $is_purchasable = true, $product ) {
$current_date = data('Ym-d');
$release_date = data( 'Ym-d', strtotime('2020-12-15') );
jeśli( strtotime($current_date) < strtotime($release_date) && $product->get_id() == 624 ) {
$is_purchasable = fałsz;
}
zwróć $is_purchasable;
}
Przycisk Dodaj do koszyka zostanie zastąpiony przyciskiem Przeczytaj więcej, który przeniesie użytkowników na stronę produktu aż do daty premiery. Przyjrzyjmy się bliżej, jak działa teraz skrypt. Kod porównuje bieżącą datę z datą premiery, a jeśli bieżąca data jest wcześniejsza, produkt nie jest dostępny do zakupu.
Produkt będzie dostępny do kupienia, gdy bieżąca data będzie równa lub przekroczy datę premiery, a przycisk Dodaj do koszyka pojawi się automatycznie. Pamiętaj, aby uwzględnić datę, a także identyfikator produktu (624 w naszym przykładzie).
W tym przewodniku poznałeś kilka metod usuwania przycisku Dodaj do koszyka. Widzieliśmy, jak ukryć go w całym sklepie, dla określonych produktów, użytkowników i ról użytkowników, a nawet jak ukryć go na określony dzień, a następnie automatycznie wyświetlić ponownie. Daje Ci to trochę więcej swobody, jeśli chodzi o dostosowywanie sklepu do różnych scenariuszy.
Wystarczy użyć tych skryptów jako punktu wyjścia, a następnie zmodyfikować je, aby dopasować do potrzeb swojego sklepu.