single egyedi fejléce kategória alapján

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.


'Benaja' wrote on '2011-05-04:

...és itt a kérdés - ki tudom-e venni ID alapján a kategória megjelenítéseket.








igen

'mano' wrote on '2011-05-04:




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:









Code:





bla



bla










és ilyesmikkel pakolod tele:





Code:



<?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… :slight_smile:





szóval a kód amivel meghívom a kategóriákat:



Code:

if ( is_object_in_taxonomy( get_post_type(), 'category' ) ) {$posted_category = __( '%1$s');}

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:









Code:

foreach((get_the_category()) as $category) {

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)









Code:























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