22 oktober, 2010
Postat av Måns Jonasson
Hur gör jag den bästa integrationen mellan posts och pages?
Jag har ett återkommande problem i sajter jag bygger med WordPress, och det är hur man enklast och bäst löser integrationen av poster i sajter som är uppbyggda med sidor.
Jag tror att det bästa sättet att illustrera problematiken är att visa, så häng med och se om du kan komma på en smart lösning på det här problemet!
När vi byggde om iis.se med WordPress var det logiskt att bygga hela sajten med en hierarkisk struktur av sidor. Det betyder att nästan hela sajten är uppbyggd av sidor, med undersidor och undersidor till undersidor. Men det finns ju vissa typer av innehåll som inte enkelt låter sig göras som sidor. Till exempel har vi pressmeddelanden (http://www.iis.se/om-se/pressrum/pressmeddelanden).
/om-se/pressrum/pressmeddelanden är just en sida – en ”page” – i strukturen. Men under denna vill jag ju lista alla pressmeddelanden, som är poster – ”posts” – i en viss kategori (logiskt döpt till ”pressmeddelanden”). Därför har jag använt en plugin som låter mig lista alla poster i en viss kategori med hjälp av en shortcode. Inga problem – alla pressmeddelanden listas snyggt och prydligt på sidan ovan.
Men – var kommer jag om jag nu klickar på ett pressmeddelandes rubrik? Jo, eftersom ett pressmeddelande är en post och inte en sida kommer jag till postens permalänk, t.ex. http://www.iis.se/pressmeddelanden/mer-generos-begransning-mot-free. Som du ser har vi nu lämnat sajtstrukturen bakom oss och slängts ut i nån slags ingen-mans-land rent sajthierakiskt. Till exempel kan vi inte längre se var i sajten vi befinner oss eftersom både huvud- och undernavigationen satts ur spel.
Jag hade naturligtvis mycket hellre sett att permalänken till det pressmeddelandet varit ”/om-se/pressrum/pressmeddelanden/mer-generos-begransning-mot-free”. Även om det är en bisarrt lång permalänk är det också en semantiskt korrekt länk, och en tydlig fingervisning om var i strukturen man befinner sig. Men det låter sig inte göras!
Jag testade ett par plugin för att hacka om permalänkarna för poster så att de verkligen visades som om de låg på ”rätt” ställe – men förutom att det var en hackig lösning funkade det inte fullt ut. Posten laddas fortfarande med ”single.php” vilket gör att man helt tappar möjligheten att markera i navigationsträdet till vänster (som är en wp_list_pages) eftersom man inte längre befinner sig inom en sidstruktur!
Samma, eller liknande problem, har jag nu fått i de fall jag vill bygga sajter med Custom Post Type. Om jag vill låta en samling poster ligga på ett visst ställe i en sidstruktur verkar det helt enkelt inte vara möjligt att lösa – åtminstone inte på något sätt som jag hittat än.
Kan du förstå problematiken? Och ännu intressantare – har du något förslag på lösning?
/M;

3 Kommentarer
22 oktober, 2010
Tanken med posts är just att de inte ska befinna sig i någon hierarkiskt trädstruktur. För att ta problemet vidare rent tankemässigt.
- Var vill ni basen för kategorier och etiketter ska uppträda i hierarkin?
22 oktober, 2010
Visst, men samtidigt finns det ju, som jag påpekar i min post, mängder av tillfällen då man verkligen skulle vilja kunna använda poster som en frikopplad del av sajten, men fast förankrad i strukturen både navigations- och länkmässigt.
Jag vill inte ha nån bas för kategorier och etiketter egentligen. Jag vill plocka in poster från en viss (eller flera!) kategorier på en viss sida och få dem att ligga där, inte frikopplat från sidstrukturen.
Om vi vänder på det hela – hur hade du löst själva grundupplägget själv? Hade du låtit varje pressrelease vara en undersida istället?
23 oktober, 2010
Jag har lagt upp en test-WP där jag tänkte försöka implementera de lösningar som kommer fram, och jag tänkte försöka använda lite tid i dag på WordCamp Stockholm för att se om det går att fixa det här. Om du har en lösning att bidra med, tveka inte att posta en kommentar här!
Test-WP:n ligger på http://wp01.proxi.se
Jag har en kategori som heter ”pressmeddelande” och en sida där det är tänkt att alla poster i den kategorin ska listas och länkas in:
http://wp01.proxi.se/om-se/pressrum/pressmeddelanden/
Hör av dig om du vill ha ett adminlogin till denna WP-installation för att hjälpa till!
Lämna en kommentar