Ovih dana sam počeo honorarno raditi za jednu našu softversku firmu, koja je čisti primjer kako svoj proizvod prodati van naših granica. Radi se od kuće, komunicira se putem Skype-a (tek sam komunikacijom u toj firmi shvatio koliko je Skype zapravo jak alat i kako je više i od chat/voice alata!), teleworking, ima svojih prednosti i mana ;)

Prvi zadatak mi je bio njihov postojeći site prebaciti na Wordpress. Sam sadržaj nije problem prebaciti, no problem je iskrsnuo kada sam shvatio da svaka stranica proizvoda mora imati svoj sidebar koji će sadržavati linkove i tekstove vezane uz taj proizvod.

Nakon što je vidio moj status na Facebooku, kolega mi je dojavio hint: topic na tu temu na Wordpress forumu. Nakon još malo surfanja i probavanja, uspio sam postići da mi točno određene stranice (bilo da ih odredim ID*-om ili slug-om) prikazuju točno određeni sidebar. Poanta je bila u tome da se pripreme sidebari u zasebne fileove, znači:

sidebar_1.php, sidebar_2.php, sidebar_3.php

Tako i napravih, za svaki proizvod njemu odgovarajući sidebar.

U templateu koji se koristi, page.php (Page Template) file ima dva poziva sidebara, lijevog i desnog. Kod nas se mijenja samo desni, ali radi jednostavnosti, recimo da postoji samo jedan sidebar.
Dakle, to bi izgledalo nekako ovako:

Ovaj dio kôda poziva sidebar.php datoteku i nju uklapa u ostatak. E sad, ideja je da se ovisno o stranici, pojavi neki drugi sidebar. To se izvelo ovako (via):

;

odnosno, ako hoćemo više stranica:

E sad, da ne bi trpali sav HTML kôd (recimo, 10ak linkova) u ove kôdove, jer će vam sve skupa ispasti nepregledno, bilo bi dobro to sve složiti u posebne sidebar fileove, uploadati te fileove u folder vašeg templatea i koristiti slijedeći kôd:

ivanohe sa DevProTalk foruma mi je preporučio male izmjene. Naime, da nemoramo pogađati ID-eve stranica, umjesto njihovih ID-eva možemo koristiti njihove slug-ove. Svakoj stranici se slug može namjestiti, u starijim verzijama Wordpressa s desne strane postoji baš polje Page Slug, dok se u verziji 2.5+ to može očitati iz permalinka.

Ipak, konačno riješenje koje koristimo jest korištenje NAVT lists plugina.

* - U Wordpressu 2.5+ je sa popisa stranica i postova izbačen stupac koji pokazuje ID stranice/posta. Razlog izbacivanja su obični korisnici, kojima WP služi isključivo za pisanje, dok naprednijima taj podatak itekako znači. Postoje dva načina kako saznati ID stranice.

  1. možete u Manage -> Pages listi preći mišem preko imena stranice, i u linku očitati ID.
  2. Pomoću ovog plugina, koji jednostavno postavi ID stupac