A WordPress egyedi mezői rendkívül hasznos segédei lehetnek munkánknak a bejegyzésekkel kapcsolatos plusz információk, illetve funkciók bevezetése során. Az egyedi mezők kezelése a téma fejlesztése során szerencsére nem okoz nehézséget, nézzük hogyan is működik.
Mi is ez pontosan?
Egyedi mezők használatára bejegyzésenként illetve oldalanként is van lehetőségünk. Az elem segítségével gyakorlatilag olyan plusz információkat fűzhetünk a tartalmunkhoz, amik más kategóriába nem férnek.
Az egyedi mező megvalósíthat például egy besorolási rendszert, így filmkatalógus statikus adatait is lekérdezhetjük a segítségével. (például Film típus, vagy a főszereplők). De tulajdonképpen bármilyen más adatot is hozzáfűzhetünk ahhoz. A későbbi példában például az adott cikk olvasási idejét fogjuk ezzel megjeleníteni.
Hol találom?
Alapértelmezés szerint az egyedi mezők kezelésére szolgáló felület nem jelenik meg, de a Mit lássunk panelen engedélyezhetjük azt. Beállítás után a szerkesztésre megnyitott bejegyzés alatt találjuk.
Ha már szerepel itt adat
Előfordulhat hogy valamelyik bővítmény már használja az egyedi mezőket, sőt bizonyos esetekben ezeket az adatokat szerkeszteni is tudjuk. Mivel most adatokat szeretnénk megjeleníteni, így problémát okozhat a plusz információ, főként ha nem szeretnénk, hogy ez látsszon a végeredményben. Ha ezzel szembesülünk, kutakodjunk a bővítmény beállításai között.
Hogyan működik?
Az Egyedi mezők az adatbázisban kerülnek eltárolásra, méghozzá a WordPress adatbázisának wp_postmeta táblájában.
A tábla rekordjai a következők:
- meta_id : Az egyedi mező azonosítója.
- post_id: A bejegyzés azonosítója, ahol a mező szerepel.
- meta_key: A mező neve (szerkesztőfelületen Név)
- meta_value: A mező értéks (szerkesztőfelületen Érték)
Tipp: Ha nem szeretnénk hogy egy mező megjelenjen a WordPress adminisztrációs felületén kezdjük a meta_key kulcs értékét alsó vonással (pld. _kulcs).
Példákód
A téma készítésekor a the_meta() függvény válogatás nélkül, felsorolásként fogja kilistázni az információkat. A függvény a bejegyzéshez kapcsolódik, tehát egy loop-on belül tudjuk használni.
A példában egy bejegyzés oldalán fogjuk megjeleníteni a várható olvasási időt.
- Válasszunk ki egy bejegyzést, majd szerkesszük azt. Az Egyedi mezők közé vegyük fel a következőt:
Név: Olvasási idő
Érték: 10 perc - Mivel bejegyzést használunk, válasszuk ki a single.php-t a téma könyvtárában.
- Keressük meg a Loop-on belül a helyet, ahol meg szeretnénk jeleníteni a mezőt, majd illesszük be a következő kódot:
<?php the_meta() ?>
Ha mentés után megtekintjük a végeredményt, megjelenik a formázatlan mezőnk a kimenetben. Ha megtekintjük a forrást, valami ilyesmit kell látnunk:
<ul class='post-meta'> <li><span class='post-meta-key'>Olvasási idő:</span> 10 perc</li> </ul>
Formázás
A stíluslappal történő formázás során tehát listaként kell kezelnünk a mezőket. Két dolgot fogunk formázni. Egyrészt a felsorolásjelet fogjuk eltüntetni, ami még a mező előtt éktelenkedik, másrészt más betűszínt adunk a mező nevének:
ul.post-meta li{list-style:none;} .post-meta-key{color: red}
Így egy élénk piros betűszínnel fog megjelenni az Olvasási idő szöveg.
Mivel külön osztályt csak a kulcs kap, azért az érték formázásához egy kis trükköt kell bevetnünk. Formázzuk meg az egész listát, majd a .post-meta-key-t bíráljuk felül:
ul.post-meta li{ list-style:none; color:red; } .post-meta-key{color: #000}