Kategóriák linkszerkezetének kialakítása, bejegyzésnéli elsőbbséggel

Üdv!:slight_smile:











A problémám a következő menürendszerből adódik:











Hírek Cikkek Afganisztán Türkmenisztán




  • Sport * Kultúra * Hírek * Hírek




  • T&T * Receptek ** Sport ** Sport




  • Bulvár ** T&T ** T&T





    ** Bulvár ** Bulvár




  • Cikkek * Cikkek





    ** Kultúra ** Kultúra





    ** Receptek ** Receptek











    Tehát mint látható, egyszerre kétféle kategorizálást használok, tematikusat és ország szerintit, tehát egy bejegyzés mindig két kategórián belül is megtalálható lesz. Ez fix.





    A problémám az, hogy a bejegyzés permalinkjénél a /%category%/%postname% verziót használom, de ennél ábécé-rend szerinti előnyt élvező kategóriához rendeli az adott bejegyzést, holott én minden esetben a tematikus permalinket szeretném használni, tehát ami most pl. afganisztan/hirek/sport, az hirek/sport legyen. Valakinek van ötlete, ezt hogyan lehetne kivitelezni? Mittomén, mysql-ben sorrendet adni nekik és ez erre is kihatna - márha lehetséges (matattam sql-ben is, nem látom át). Keresési kifejezések, tapogatózási pont, bármi jól jönne, magyarul jobb volna, mert angolul soha nem tanultam (más kérdés, hogy az se riaszt vissza).











    Ugyanakkor az is érdekelne, ha ez megoldható, hogy lehetne rögtön csak az legfelső/legelső kategóriát megjeleníteni? Pl.: hirek/sport/post-cime helyett hirek/post-cime











    Ui.: sokat keresgéltem a témában, itt a fórumon is, de nem sikerült, pedig nem vagyok az a másoktól segítséget kérős típus.











    Köszönöm a figyelmet és az esetleges segítségeket előre is.

My Category Order bővítményt próbáld meg, valamint testvéreit, a My Page Order-t, és a My Link Order sem árt.

Mivel a fentebbi példában nem jól látható, mégegyszer a menü:











Hírek




  • Sport




  • T&T




  • Bulvár





    Cikkek




  • Kultúra




  • Receptek





    Afganisztán




  • Hírek





    – Sport





    – T&T





    – Bulvár




  • Cikkek





    – Kultúra





    – Receptek





    Türkmenisztán




  • Hírek





    – Sport





    – T&T





    – Bulvár




  • Cikkek





    – Kultúra





    – Receptek











    Mint látható, a lényeg az, hogy a látogató láthassa az összes bulvárhírt is, de ha csak Afganisztán bulvárhíreire kiváncsi, azt is megtehesse, emiatt nem használhatok más kategorizálást, a címkézés önmagában meg halottnak a csók.









'Farkas wrote on '2009-10-13:




My Category Order bővítményt próbáld meg, valamint testvéreit, a My Page Order-t, és a My Link Order sem árt.








Nagyon szépen köszönöm, azonnal megnézem az összeset és tesztelésre fogom őket, hogy mire jutottam velük, visszajelzem, mert ha meg is oldja a gondot, hátha másnak még jól fog jönni:)





Mégegyszer nagyon köszönöm!





Némi (sok) tesztelgetés és olvasgatás után a következők derültek ki:





Ha a bejegyzések linkjeinél a /%category%/%postname%/ formát használjuk, de egy bejegyzést több kategóriába is besorolunk, a kategóriák azonosítószáma, azaz ID-je dönt arról, hogy melyik fog megjelenni a permalinkben, mindig a lehető legkisebb számértékű ID-del rendelkező kategória fogja nyerni a csatát. Hogy egy kategóriának hányas lesz az ID-je, az a kategóriák hozzáadásának sorrendjétől függ, minél korábban hoztuk létre a kategóriát, annál kisebb id-je lesz.





Példa:


Ha van két főkategóriánk, pl:


Szőlő (ID: 1)


Alma (ID: 2)



és írunk egy bejegyzést, amely mindkettőbe beletartozi, pl. Gyümölcs-saláta címmel, akkor a két lehetséges linkstruktúrából a Szőlő kategória fog győzedelmeskedni a következő permalinket adva a cikknek:


www.blogneve.hu/szolo/gyumolcs-salata





Viszont előfordulhat, hogy nem csak főkategóriáink vannak, hanem azoknak alkategóriái is, így nekünk meg két szintig mély menürendszerünk. Vajon az adott besorolások közül melyik nyer? Az, amelyikben a legkisebb számértékű ID-del rendelkező kategória van, vagy az, amelyikben a bejegyzés közvetlen kategóriái - tehát amelyekbe közvetlen helyezve lett a bejegyzés - közül van az egyiknek kisebb ID-je a többihez képest? Utóbbi a helyes válasz.





Példa:


Adott egy ilyen kategóriarendszer:


Receptek (ID: 1)


- Vegetáriánus (ID: 4)


Kedvenc ételeim (ID: 2)


- Húsvét utánra (ID: 3)



Egy bejegyzést beteszek mind a Vegetáriánus, mind a Húsvét utánra kategóriába. Nem a Vegetáriánus kategória fog szerepelni a bejegyzés permalinkjében, hanem a Húsvét utánra kategória, mert a kettő közül, azaz a két legközelebbi kategória közül, amelyek a bejegyzéshez tartoznak, a kisebb ID-del rendelkező fog nyerni, mivel 3 < 4, így a cikk teljes linkje így fog festeni:


www.blogneve.hu/husvet-utanra/bejegyzes-cime





Eszerint elmondható a szabály, hogy az a kategória-útvonal kerül mindig a bejegyzés teljes linkjébe, amelyben a bejegyzést közvetlenül tartalmazó kategória ID-je a legkisebb a többi közvetlen kategória ID-jéhez képest.





Megjegyzés: három szintmélységű kategorizálásnál nem próbáltam, plusz egyéb csalafinta helyzetekben, így nem tudhatom egyelőre azt sem, hogy ha a két lehetséges kategorizálási útvonal közül az egyik 3 szintmélységű, a másik 2, akkor is ez a szabály érvényesül-e vagy ekkor a WP a rövidebbet fogja választani, még ha annál az esetnél a közvetlen kategória ID-je nagyobb is lesz a másiknál.





Hogyan csináld: a legpraktikusabb, ha alapból így hozod létre a kategóriáid, jól átgondolva. Ha utólag kell bütykölni, sql-ben kell átirkálni őket, figyelembe véve azt is, hogy a bejegyzéseknél is meg vannak adva.





[Remélem, lesz olyan, aki idetalálva ennek a szájbarágós leírásnak nagyon fog örülni, de elég lenne az is, ha hasznosnak találná:)]