Widget logic

Dziś kolejny wpis dla początkujących blogerów używających WordPressa. Opracowując w weekend nowy wygląd bloga, który miał przede wszystkim na celu przyspieszenie wczytywania się strony poprzez zmniejszenie ilości i wielkości plików graficznych, zastanawiałem się również nad tym jak jeszcze bardziej zoptymalizować blog pod względem szybkości działania. Jednym z takich elementów jest zmniejszenie na niektórych stronach ilości widgetów w pasku bocznym. Dzięki pomocy Marcina Kowalskiego skorzystałem w tym celu z wtyczki o nazwie Widget Logic.

Z biegiem czasu, gdy nasz blog się rozwija, niepostrzeżenie wydłuża się również nasz pasek boczny, do którego doklejamy kolejne widgety. Niestety ta zwiększająca się ilość elementów wpływa również na szybkość wczytywania się serwisu, a przecież nie każdy widget musi się wyświetlać na wszystkich stronach naszego bloga. I tu powstaje pytanie, w jaki sposób wskazać miejsce pojawiania się konkretnego widgetu na konkretnej stronie?

Istnieją zapewne inne, programistyczne sposoby na rozwiązanie tego problemu. Ja, ponieważ nie jestem informatykiem, postanowiłem skorzystać z gotowego rozwiązania jakim jest wspomniana wcześniej wtyczka Widget Logic. Jak to działa?

Zasada działania wtyczki Widget Logic

Po zainstalowaniu i włączeniu wtyczki w każdym widgecie dostępnym w menu Wygląd > Widgety pojawia się specjalne okno o nazwie Widget logic, gdzie musimy podać odpowiednią regułę napisaną w języku PHP, która sprawi, że dany widget będzie się wyświetlał we wskazanym przez nas miejscu (stronach) na blogu. Lista tych reguł jest podana i wyjaśniona (po angielsku) na specjalnej stronie. Jak widać jest ich dość sporo, a co ważne, można je w różny sposób ze sobą łączyć.

Okno "Widget logic"
W okno "Widget logic" wpisujemy odpowiednie reguły

Dla przykładu podam Wam regułę, którą wpisałem w widgecie odpowiadającym za wyświetlanie się listy nowych komentarzy. Wygląda to tak:

!is_page('kontakt') && !is_page('o-mnie')

co oznacza, że widget ten ma się wyświetlać na wszystkich stronach bloga poza stroną “O mnie” i “Kontakt”. Jako ciekawostkę powiem Wam, że gdyby usunąć znaki wykrzyknika efekt byłby odwrotny – element wyświetlałby się tylko na wymienionych stronach.

Dzięki tej wtyczce “odchudziłem” trochę pasek boczny na stronach statycznych bloga, gdzie nie zawsze wszystkie informacje, które się w nim znajdują, są potrzebne. Wykorzystując możliwości tej wtyczki możemy w prosty sposób zaprojektować inne paski boczne bloga, na przykład, dla każdej kategorii wpisów.

Jeśli macie jakieś inne patenty na rozwiązanie tego problemu to zapraszam do dyskusji w komentarzach :)

20 thoughts on “Widget Logic, czyli zarządzanie widgetami na blogu z WordPressem

  1. Przydatna sprawa – choć nie wiem, czy nie lepiej zrobić to wszystko z poziomu wordpressowego szablonu. Może i zajmuje nieco więcej czasu, ale przynajmniej nie jesteśmy uzależnieni od tego czy wtyczka działa poprawnie, czy nie.

    Pozdrawiam – Artur

    1. Jak bliżej poznam zasady kodowania szablonów WordPressa to spróbuję zrobić takie różnorodne paski boczne sam. Na razie musi mi wystarczyć gotowiec :)

  2. Udało mi się taki efekt uzyskać tylko dla jednej strony, nie udało mi się połączyć kilku reguł. A szkoda.

  3. "Jako ciekawostkę powiem Wam, że gdyby usunąć znaki wykrzyknika efekt byłby odwrotny – element wyświetlałby się tylko na wymienionych stronach."

    A czy nie trzebaby było zmienic rowniez && na || ?

  4. a jak zrobić, żeby wybrane widgety wyświetlały się na podstronach ? na stronach działa, na podstronach niestety już nie :(

  5. Dzięki WIELKIE za pomoc, teraz życie stało się prostsze :)
    Pracowałem niegdyś na joomli, wciąż uważam, że jest nieco bardziej przyjazna, ale wordpress robi wielkie postępy dzięki takim wtyczkom.

    Pozdrowienia dla wszystkich blogerów.

    1. Staram się pisać tak, jakbym chciał, żeby inni pisali poradniki dla początkujących i nie opuszczać szczegółów, bo to bardzo często jest ważne – szczególnie, jeśli chodzi o składnię kodu i kolejność. Cieszę się, że taki styl się podoba :)

  6. Witam, a czy ktoś orientuje się czy możliwe jest skonfigurowanie wtyczki tak aby losowo wyświetalała się na wybranej puli id podstron? :)

Komentarze zostały wyłączone.