Przekierowanie z SKU do produktu w Woocommerce

Przekierowanie z SKU do produktu w Woocommerce - Webist Blog

Spis treści

Przekierowanie z SKU do produktu w WooCommerce to praktyczne rozwiązanie, które pozwala użytkownikom odwiedzającym adresy URL zawierające SKU produktu automatycznie trafić na właściwą stronę produktu w sklepie opartym na WordPress. W tym przypadku, dzięki fragmentowi kodu PHP, możemy skutecznie obsłużyć takie sytuacje. Użytkownicy wpisują lub klikają link zawierający kod SKU, zamiast pełnego adresu produktu. WooCommerce oferuje funkcje, które umożliwiają identyfikację produktu na podstawie SKU, co ułatwia implementację takiego przekierowania. Dowiedz się, jak krok po kroku zastosować takie rozwiązanie w swoim sklepie, poprawiając doświadczenie użytkownika i eliminując błędy 404 dla adresów związanych z SKU.

Przekierowanie z SKU do produktu

Do tego wykorzystamy fragment kodu PHP. Możesz go dodać do strony poprzez specjalną wtyczkę, która uruchamia snippety kodu PHP lub poprzez plik functions.php.

				
					add_action('template_redirect', 'redirect_sku_in_url_to_product');

function redirect_sku_in_url_to_product(){
    // Sprawdzamy, czy jest to 404
    if(is_404()){
        // Pobieramy aktualny request jako SKU
        $sku = $GLOBALS['wp'] -> request;
        /*
        opcjonalnie dla większego bezpieczeństwa można użyć:
        $sku = sanitize_text_field($GLOBALS['wp']->request);
        
        wc_get_product_id_by_sku() chroni przed SQL Injection, ponieważ używa prepare()
        */
        
        if(strlen($sku) > 50) return; // Ograniczenie długości

        // Sprawdzamy, czy SKU istnieje i szukamy ID produktu na jego podstawie
        if(!empty($sku) && ($product_id = wc_get_product_id_by_sku($sku))){
            // Przekierowujemy na stronę produktu
            wp_redirect(get_permalink($product_id));
            exit;
        }
    }
}
				
			

Teraz jeśli dane SKU istnieje to użytkownik na jego podstawie zostanie przekierowany. Przykładowo: z adresu www.przykladowysklep.pl/123421 na www.przykladowysklep.pl/przykladowy-produkt.

Wyjaśnienie kodu krok po kroku

Hook template_redirect służy za wykonanie kodu, gdy WordPress przygotowuje wszystkie przekierowania (własne lub z kodami błędów). Dzieje się to jeszcze przed renderowaniem szablonu strony. Sam kod na początku sprawdza, czy aktualna strona zwraca kod błędu 404. Jest to zabezpieczenie przed tym, gdyby podstrona (lub jakiś inny content) już istniała. Następnie jest pobierane żądanie wysłane do WP, czyli fragment adresu URL (tutaj: znajdź content o danym adresie). Na koniec sprawdzamy, czy nasze SKU nie jest puste oraz, czy istnieje produkt o danym SKU. Jeśli oba warunki są prawdziwe to następuje przekierowanie do strony produktu i zakończenie skryptu.

Zalety tego rozwiązania

Przekierowanie z SKU do produktu w WooCommerce to rozwiązanie, które znacząco poprawia doświadczenie użytkownika. Klienci, którzy znają SKU produktu, np. z faktur, katalogów czy zapytań, mogą wpisać go bezpośrednio w adres URL i natychmiast trafić na stronę produktu, omijając wyszukiwarkę sklepu i kategorie. Skraca to czas dotarcia do produktu, co jest szczególnie wygodne dla kupujących. Dodatkowo rozwiązanie wspiera zespół obsługi klienta, umożliwiając szybkie udostępnianie linków do produktów na podstawie SKU. Implementacja wymaga jedynie kilku linijek kodu PHP, jest łatwa i nie wpływa negatywnie na wydajność, działając wyłącznie na stronach 404.

Opinie
Kliknij, aby ocenić wpis!
[Łącznie: 0 Średnia: 0]

Kategorie:

Data aktualizacji wpisu:

Udostępnij:

Przeczytaj także

Aktualizacja 0.9.0 wtyczki Webist WP Esti CRM - Webist blog

Aktualizacja wtyczki Webist WP Esti CRM do wersji 0.9.0 przynosi szereg usprawnień, które poprawiają stabilność…

Ukryte pola i przekazywanie danych w Contact Form 7 - Webist Blog

Ukryte pola i przekazywanie danych w Contact Form 7 to prosty sposób, aby każdy formularz…

Aktualizacja 0.2 wtyczki Webist WP Asari CRM OSM

Nowa aktualizacja Webist WP Asari CRM OSM w wersji 0.2.0 koncentruje się na stabilności i…