jak ukryć lub pokazać widget w WordPress tylko na konkretnej stronie

Jak spersonalizować sidebar w WordPress Widget logic

Kolumna boczna lub panel boczny z ang. sidebar znajduje się w praktycznie każdym szablonie WordPress. W zależności od szablonu na stronie może być tylko jeden panel boczny lub kilka.

Co nie koniecznie oznacza że to wystarczająca ilość szczególnie jeśli chcemy dość mocno spersonalizować konkretną stronę lub wpis. UWAGA – wtyczka może nie działać w WordPress z zainstalowanym edytorem Gutenberg.

Inne widżety dla grupy wpisów lub strony?

Czasem chcielibyśmy by sidebar dla jednej kategorii lub strony miał włączone jedne widżety (moduły) podczas na innej miał je włączone. Część osób, z małym doświadczeniem z WordPress zapewne zapyta w czym problem. O tuż bardzo często wpisy lub strony korzystają z tego samego panelu bocznego. W WordPress nie ma domyślnej opcji filtrowania zawartości. Wszystko co umieścimy w panelu będzie pokazywać się tam gdzie znajduje się panel.

Można oczywiście spróbować dopisać w szablonie kolejną kolumnę i ustawiać odpowiednie warunki w php, ale przy aktualizacji skórki tracimy wszystkie modyfikacje. Poza tym nie każdy posiada odpowiednią wiedzę by dokonać tego typu modyfikacji samodzielnie.

Inną opcją jest zainstalowanie wtyczki dodającej nowe panele.  Dużo mniej inwazyjnym wyjściem z tej sytuacji okaże się plugin (wtyczka) Widget logic.

Co to jest Widget logic?

Widget logic jest wtyczką dodającą do widgetów dodatkowe pole tekstowe. W polu tym należy wpisać odpowiednią komendę, warunek który spowoduje wykluczenie lub ograniczenie wyświetlania widgetu na określonych stronach.

Za jej pomocą możemy np. wyświetlić wyszukiwarkę jedynie na stronie z postami a w zwykłych stronach już nie lub też ograniczyć się jedynie do danej kategorii. Ja np. za jej pomocą ukryłam w panelu bocznym kilka zestawów menu, widocznych jedynie na podstronach spełniających określone warunki.

Odnośnik do strony z wtyczką

Jak zainstalować Widget logic?

Instalacja jest standardowa jak w przypadku innych wtyczek. Pobieramy wtyczkę ze strony i umieszczamy ją na serwerze FTP w katalogu z pluginami np.

mojkatalog/wp-content/plugins

Gdzie mojkatalog to lokalizacja WordPressa na serwerze FTP.

Można ją również automatycznie zainstalować za pomocą opcji Wtyczki ->Dodaj nową wpisać nazwę w wyszukiwarkę i poszukać właściwej wtyczki. Następnie zainstalować.

Kiedy wtyczka będzie na miejscu trzeba ją aktywować. Wtedy do wszystkich widgetów zostanie dodana nowa opcja.

Gdzie znaleźć widget logic
Gdzie znaleźć widget logic
Przykładowe pole widget logic - widget wyszukiwania pokazuje się wszędzie
Przykładowe pole widget logic – widget wyszukiwania pokazuje się wszędzie

Konfiguracja

Na początek warto poznać kilka podstawowych warunków:

Puste okienko  powoduje że element/widget wyświetla się wszędzie – na wszystkich podstronach posiadających sidebar.

logic
Przykładowe wypełnienie pola widget logic – obiekt pokazuje się tylko we wpisie posiadającym kategorię z id = 23

is_home() – Jeżeli chcemy by pokazywał się jedynie na stronie głównej wpisujemy

is_page() – Jeżeli chcemy by wyświetlał się tylko na stronie
Przykład:
– na pod stronie o nazwie cookie-policy

is_page("cookie-policy")

– po numerze id np. 11

is_page(11)
numer-postu

in_category() – w celu ograniczenia wyświetlania się dla kategorii
przykład:

in_category("Wordpress" )
in_category(12)

is_single() – dla wszystkich wpisów
przykład:

is_single("Hello World")
is_single(45)

has_tag() – dla tagów
is_tag – dla stron z tagami
przykład:

has_tag("Tutorials")

Kody można ze sobą łączyć i dzięki temu wyświetlać na kilku typach stron np.

is_page("wyznania-partnera") || is_page("zarabiac-na-blogu") || is_home()

– Powyższy warunek oznacza, że strona na której chcemy coś wyświetlić musi nazywać się „wyznania-partnera” lub „zarabiac-na-blogu” albo być stroną główną serwisu. Czyli musi spełniać co najmniej jeden z tych warunków.

– Podobny efekt możemy uzyskać za pomocą poniższego kodu: w tym wypadku warunek spełniony będzie dla stron „About”, „Contact” oraz o id 50 lub 75.

is_page( array("About", "Contact", 50, 75) )

Łączenie dwóch lub większej ilości reguł w tym wypadku wpis lub strona musi spełniać jednocześnie kilka wymogów
– w poniższym przypadku warunek jest spełniony dla pojedynczych wpisów należących do kategorii '259′ pomijamy przy tym stronę kategorii. Czyli oba warunki muszą zostać spełnione

is_single() && in_category("259")

Podobnie jak dla stron możemy postępować z wpisami i kategoriami.

Dla kilku kategorii można użyć kodu

in_category( array("Wordpress", "Joomla", "Kat1", "Kat2") )

Podobnie z pojedynczymi postami

is_single( array("Hello", "Happy Post", 45) )

Ograniczenia mogą też być powiązane z tagami np.

has_tag( array("Tutoriale", "WordPress", "Tag1", "Tag2") )

Wpisanie znaku „!” przed kod spowoduje przeczenie czyli aby widżet nie wyświetlił się np. na stronie głównej

!is_home()

Podobna zasada jest w pozostałych przypadkach.

Dodatkowe tagi:

wyświetlanie widżetów tam gdzie chcemy czyli różnych w dowolnym miejscu
pozwalająca wyświetlać konkretny widget tylko w miejscach, które my określimy
instalacja wtyczki rozszerzającej możliwości, jak działa, pasek boczny sidebar
Jak spersonalizować sidebar w WordPress Widget logic