Dostałem wczoraj zapytanie, jakiej wtyczki do WordPressa użyć, by móc wyświetlać na stronie sklepu internetowego (WooCommerce) niektóre elementy warunkowo – w wybranych momentach, na wybranych stronach, i tylko zalogowanym użytkownikom, należącym do wybranych grup. I może mógłbym wdrożenie jakiegoś rozwiązania tego typu zaproponować, gdyby nie to, że ta osoba na swojej stronie korzysta z motywu Divi, a tam już od kilku miesięcy (wrzesień 2021) taka opcja jest w standardzie.
Spis treści w artykule
Divi Condition Options
I chociaż jest to tylko jedna z opcji motywu, to nie oznacza to, że mamy tutaj mniejsze możliwości, niż w innych – dedykowanych – rozwiązaniach tego typu. Wręcz przeciwnie, w końcu to Divi… ;-)
Z tym że omawiana funkcjonalność oczywiście nie dotyczy tylko Divi, ale również motywu Extra, a także stron zrobionych za pomocą Divi Buildera (wtyczka typu page builder, z której można korzystać w innych motywach).
I tak właściwie dla każdego elementu – sekcji, wiersza, konkretnego modułu – możemy w prosty sposób, za pomocą kilku kliknięć ustawić to, kiedy, gdzie i komu ma się wyświetlać. A jest z czego wybierać:
Mamy do dyspozycji takie warunki jak typ postu, kategoria, tag czy autor. Możemy też wskazać konkretne lokalizacje, bazując na tagach, kategoriach, typach stron i wpisów (w tym również różne Custom Post Type, takie jak lekcje i kursy z Tutor LMS, czy produkty z WooCommerce).
Możemy wybrać, czy treść ma się wyświetlać wszystkim, tylko niezalogowanym, albo tylko zalogowanym W takim przypadku możemy też wybrać konkretne uprawnienia, jakie użytkownik musi posiadać, by zobaczyć element.
Kolejny blok opcji (warunków) dotyczy daty i czasu, odwiedzonych przez użytkownika stron (i postów), produktów zakupionych bądź znajdujących się w koszyku (WooCommerce), czy też liczby wizyt na stronie (całej, lub konkretnych, bo warunki można łączyć).
Na koniec znajdziemy opcje (warunki) związane bezpośrednio z urządzeniem użytkownika, czyli przeglądarka, system operacyjny, czy konkretne ciasteczko (cookie).
Kilka kliknięć i warunki gotowe
Jak już wspomniałem, dodawanie kolejnych warunków w Divi (Divi Builderze) większości przypadków sprowadza się do kilku kliknięć:
Jak widać na powyższej grafice, możliwości mamy naprawdę dużo, ale jednocześnie całość jest przygotowana w dość intuicyjny i wygodny sposób, tak, że nawet osoby „mniej techniczne” nie powinny mieć z tym problemów.
Różne kombinacje wielu warunków
Co ważne, dla każdego elementu możemy zdefiniować właściwie dowolną liczbę właściwie dowolnych warunków (właściwie, bo niektóre ze względów logicznych mogą wzajemnie się wykluczać):
W takim przypadku możemy wybrać, czy dany element ma być widoczny, gdy dowolny warunek zostanie spełniony, czy tylko i wyłącznie wtedy, gdy wszystkie zdefiniowane warunki zostaną spełnione.
Potencjalnie problematyczna pamięć podręczna
Jest jednak pewien haczyk, i dotyczy on nie tylko tego rozwiązania dostępnego w Divi, ale ogólnie większości rozwiązań wyświetlających dynamicznie treść na stronie. Chodzi o sytuację, gdy na stronie korzystamy z wtyczek keszujących (np. Cache Enabler). W takiej sytuacji trzeba pamiętać o tym, że gdy strona zostanie zapisana w pamięci podręcznej, to przy następnych wizytach, nawet innych użytkowników będzie ona pobierana z tej pamięci.
Stąd, jeśli treść warunkową (dynamiczną) chcemy wyświetlać tylko na wybranych stronach, to należy albo je wykluczyć z keszowania (często można to zrobić również warunkowo), albo ustawić automatyczne czyszczenie pamięci w określonych momentach. W przypadku treści warunkowych, wyświetlanych globalnie, sytuacja jest bardziej złożona, bo może się zdarzyć, że nie wystarczy okresowe czyszczenie pamięci podręcznej, a może być nawet wymagane tymczasowe wyłączenie cache.
Z drugiej strony, w sytuacji stron eCommerce (sklep internetowy, platforma kursowa) i tak wiele podstron domyślnie jest wyłączona z keszowania (np. koszyk, strona finalizacji zamówienia, strony związane z kontem użytkownika), więc nie jest to aż takim ograniczenie. Zwłaszcza że właśnie w przypadku takich stron widzę największy potencjał dla tego typu rozwiązań (+ różnej maści strony lądowania (landing pages)).
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01