Co to jest za kod?
Ten fragment kodu PHP jest niestandardowym rozwiązaniem dla witryn opartych na WooCommerce. Umożliwia automatyczne dodawanie produktu do koszyka klienta po odwiedzeniu określonej strony. Jest to szczególnie przydatne w przypadkach, gdy chcesz promować konkretny produkt lub ofertę specjalną. Dzięki temu zachęcasz użytkowników do zakupu poprzez minimalizację liczby kroków wymaganych do dodania produktu do koszyka.
Jak działa?
Kod wykorzystuje hook template_redirect
, który jest wywoływany, gdy WordPress przekierowuje pewne zapytania lub gdy są ładowane określone szablony stron. Funkcja sprawdza, czy bieżący użytkownik nie jest administratorem (aby nie wpływać na pracę administratorów witryny) i czy odwiedza on stronę o określonym identyfikatorze lub ścieżce (tutaj 'twoja-strona’). Następnie przeszukuje koszyk klienta, aby sprawdzić, czy wybrany produkt (o konkretnym ID) jest już w koszyku. Jeśli produkt nie znajduje się jeszcze w koszyku, funkcja automatycznie go tam dodaje.
Korzyści z jego użycia
Użycie tego kodu na swojej stronie WooCommerce może przynieść kilka znaczących korzyści. Po pierwsze, upraszcza on proces zakupowy, automatycznie dodając produkty do koszyka, co może zwiększyć prawdopodobieństwo zakupu przez klienta. Po drugie, jest to doskonały sposób na promowanie określonych produktów lub ofert specjalnych, szczególnie podczas kampanii marketingowych. Automatyzacja tego procesu nie tylko oszczędza czas użytkowników, ale także może skutecznie zwiększyć średnią wartość koszyka i poprawić ogólne wrażenia z zakupów na Twojej stronie.
add_action( 'template_redirect', 'auto_add_product_to_cart' ); function auto_add_product_to_cart() { if ( ! is_admin() && is_page('twoja-strona') ) { $product_id = 123; // ID Twojego produktu $found = false; // Sprawdź, czy produkt już jest w koszyku foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; if ( $_product->get_id() == $product_id ) $found = true; } // Jeśli nie, dodaj produkt do koszyka if ( ! $found ) WC()->cart->add_to_cart( $product_id ); } }