Sivupalkin vimpainen järjestyksen vaihtaminen

WordPressin kanssa voi joskus tulla tilanteita, joissa sivupalkin vimpaimien järjestystä olisi mukava muuttaa sivutyypistä riippuen. WordPress itsessään ei tarjoa tähän oikein työkaluja, mutta asiaan on kyllä ratkaisuja. Widget Logic, esimerkiksi, lisää vimpaimiin logiikkaa, jolla niiden näkyvyyttä voi säädellä. Toinen vaihtoehto on tehdä erillinen sivupalkki, joka näytetään halutulla sivutyypillä.

Kumpikaan ratkaisuista ei ole ihanteellinen, mikäli halutaan vain siirtää vimpaimen paikkaa sivupalkissa. Sekä Widget Logicin että toisen sivupalkin käyttäminen edellyttävät saman sisällön luomista ja ylläpitämistä moneen kertaan. Sitä pyrin aina välttämään, koska muuten toinen versio sisällöstä tapaa jäädä päivittämättä, kun muutoksia tulee.

Yksi ratkaisu vimpaimien siirtelyyn on wp_get_sidebars()-funktio ja sen kutsuma sidebars_widgets-suodin, joka antaa käpisteltäväksi sivupalkin kaikkien vimpaimien luettelon. Sen avulla on helppo keikauttaa järjestys haluttuun muotoon:

add_filter('sidebars_widgets', 'sivupalkin_jarjestys');
function sivupalkin_jarjestys($w) {
    if (in_category('2') && is_single()) {
        $widget = array_shift($w["sidebar-1"]);
        array_splice($w["sidebar-1"], 6, 0, $widget);
    }
    return $w;
}

Tässä esimerkiksi siirretään sivupalkista sidebar-1 ensimmäinen vimpain kuudenneksi, kun ollaan kategorian 2 yksittäisellä sivulla. Näppärää ja tehokasta.

Kysy tai kommentoi

  • (ei näy muille)

XHTML: Voit käyttää näitä tägejä: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">