Theme készítés: Cat és Tag oldal kihagyása

Üdv,











Pár napja tanulom a WP theme szerkezetét és beleakadtam egy dologba, nem szeretnék külön-külön minden oldaltípusnak sablonokat csinálni, de úgy tűnik anélkül nem fog működni. Szóval ha most kiválasztok egy kategóriát, akkor az index jön be, de ez van kulcsszóra is.











Azt akarom hogy helyesen jelenjenek meg a kategóriák és a tagek is az index kezelőjén keresztül, ez megoldható egyszerűen?























Üdvözlettel,





OroszNyet

nos nem teljesen értelek:





igen van lehetőséged külön-külön lekezelni őket sablonokkal mint azt a codex tipográfiájában láthatod.





ha pedig inkább egy index-be akarsz zsúfolni mindent akkor is_category, is_tag stb függvényekkel ellenőrizheted a lekért adat típusát…

Ha szajt.hu/category/akarmilyenkategoria/ oldalt lekérem, akkor is a legfrissebb posztok jönnek be, holott csak a kategória elemeinek kellene megjelennie. Ahogy elnéztem a többi fájlt, ott sincs külön kategória template, mégis jól jelennek meg a posztok.

Ha úgy listázza a bejegyzéseket, akkor minden bizonnyal olyan a loop is. Na már most hogy tiszta legyen a dolog. Ha van nekünk egy index.php fájlunk melynek szerkezete megegyezik a többi aloldaléval, pl.: kategória megjelenítése, oldalak, bejegyzések, akkor elég lenn számunka egyetlen fájl és egy stíluslap. Ugyanis ez a minimális követelménye egy wp sablonnak.





Abban az esetben, ha más, “általában úgy van, mert általában úgy van” akkor van szükség további fájlok létrehozására. Sablonunk category.php fájlja arra szolgál, hogy a kategóriák listázásának megjelenítését szabályozzuk vele. Amennyiben létre van hozva a category.php és megfelelő loop található benne, akkor működnie kell megfelelően a kategóriák listázásának. Ha van és nem jól listáz, akkor biztos lehetsz benne, hogy nem jó a loop, vagy az index-ben egy feltétel meg van adva, hogy kategóriák esetében az az is_category mi jelenjen. Ekkor a sablon hierarchia miatt az index kerül ismételten előtérbe és a category.php-t már figyelmen kívül hagyja a rendszer.

Végül az lett, hogy az index.php-t dupláztam és átneveztem az egyiket archive.php-ra. Aztán kiszedtem az archive.php listázó loop-jától teljesen független “if (have_post())” részt és utána már minden kategória, tag oldal helyesen listázott. A loop nem egy kondícióban volt és a loopban sem volt kondíció.











Hierarchia

Egyről beszelünk, csak te az archive.php-z használod a kategóriák listázásához.

Annak ellenére, hogy index templéttel akartam de nem ment. Ugyan ez volt a kereséssel is, az sem működött, csak ha létezett a search.php fájl. Pedig ugyan az volt a listázó a search.php-ben mint az indexkben… csak a keresett kulcsszavat írtam ki.

[off]@Efrud rég láttalak errefele :slight_smile:





[/off]