készítek egy gyűjtő honlapot, ahol szervezetek jeleníthetik meg eseményeiket. kb 70 kategóriát létrehoztam. Mindegyik kategória be van osztva 5db szülő kategóriába. szeretném elérni, hogy a bejegyzés megnyitásánál egy egyedi header, illetve sidebar jelenjen meg, a szervezet adataival. a fejlécben szeretném kiíratni a kategória nevét, így nem kellene legyártanom 70header fájlt. a gondom, hogy a szülőkategóriát nem szeretném megjeleníteni. Tehát arra gondoltam, hogy megjelenítem a kategóriákat, ahogy a loopban is benne van, de - és itt a kérdés - ki tudom-e venni ID alapján a kategória megjelenítéseket. tehát a fejlécbe ne 3-4 kategória jelenjen meg, csak az előre definiáltak kivételével a többi. (id1 főkat, id2 középkat, id3 alkat - megjelenés: főkat, középkat, alkat és én csak (-1, -2) kívánt megjelenés: alkat) nem tudom mennyire voltam érthető. tehát láthatatlanná szeretném tenni id alapján néhány kategóriát a get_the_category_list-ből.
igen
igen
olyan régen voltam már a fórumon, hogy még vissza kell rázódnom. Pedig tudom, hogy soha sem a válasz a lényeg, hanem a kérdés, lásd 42 :)
mano: de lájkoltam :D
:lol:
gondolom szülőből kevesebb van, mint gyermekből, tehát esetleg csinálsz pár if elágazást valahogy így:
bla
bla
és ilyesmikkel pakolod tele:
<?php foreach((get_the_category()) as $childcat)
{
if (cat_is_ancestor_of(SZÜLÅKATIDJE, $childcat))
{
echo $childcat->cat_name;
}
} ?>
nos átnéztem a kódomat, átgondoltam, hogy mit is szeretnék és elkészítettem a kis beillesztendő sort, ami megjeleníti a kategória neveit. Ãtnéztem a kategóriákat és minden esetben a ID 2,3,4,5,6,7 kategóriákat kell kiszűrni, ezeket mindig. Nézegettem ezeket a foreach dolgokat, de vhogy nem lelek rá a lényegére…
szóval a kód amivel meghívom a kategóriákat:
printf( $posted_category, get_the_category_list( ', ') );
ezt kellene kiegészíteni annyival, hogy a fenti kategóriákat ne jelenítse meg, csak az összes többit. Ãgy a fejlécben a single.php meghívásával a szükséges kategória felirata megjeleníthető.
Kérdésem tehát - figyelve a megfogalmazásra - milyen kódot írjak a fenti mellé, hogy a get_post_type kihagyja a definiált kategóriákat, ahol a milyen kérdésre adott válaszokból, előre szűrném a (szépet, jót, php-t, hatékonyat... stb szavakat) :)
a segítséget előre is megköszönve
Google és a kitartás és persze a foreach (by mano) meg rengeteg próbálgatás meghozta gyümölcsét:
if($category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév'||$category->name=='kategórianév') continue;
$category_id = get_cat_ID( $category->cat_name );
$category_link = get_category_link( $category_id );
echo ''.$category->cat_name.'';
}
vhogy biztos át lehet váltani id-re is, de nekem ez így tökéletes :)
következő probléma:
a header egyediesítve van minden kategóriánál, illetve a bejegyzéseknél is, azáltal, hogy a fejlécben megjeleníti a kategória nevét, kiszűrve a nem szükséges kategóriákat.
most azt szeretném, hogy a sidebarban jelenjen meg a fejlécben megjelenített kategória első cikke, vagyis a legrégebbi cikke. ez ugye javarészt nem változik, használhatom úgy, mint egy kategória leírást, de annál szabadabb, hisz képeket pakolhatok bele… stb.
ezt a kódot kreáltam (segítségért köszönet a google-nak)
a gondom, hogy jelenleg az összes bejegyzés közül hozza az elsőt, de nem állíthatom be alapból a kategóriát, mert ez jelenne meg minden bejegyzésnél és nekem az kell, hogy a bejegyzéshez tartozó kategória cikke jelenjen meg. Figyelve persze, hogy a kiszűrt kategóriák továbbra is ki legyenek szűrve. Nem látom át a kódot, de lehetne vmit kezdeni a fejlécben megkapott értékkel? azt nem lehet vhogy beleilleszteni?
szóval: a segítség a kód összeillesztésében kellene... előre is köszönöm