FAQ |
Kalender |
2009-06-13, 15:55 | #1 | |||
|
||||
Mycket flitig postare
|
Ok, kanske inte så mycket till vinst, men jag hoppas att någon har lite mer klurighet än vad jag har här
Jag sitter och ska försöka bygga om Wordpress så att det kan fungera som ett riktigt galleri där varje bild blir en egen post, vilket fungerar alldeles ypperligt och bilderna i varje kategori skrivs ut som tummar automatiskt. Så långt fungerar allt perfekt. Nu ska jag försöka skapa en galleri sida med sub_pages och då blir det lite problematiskt eftersom jag vill kunna dela upp listan med sub_pages i flera kolumner (2 eller 3) OCH lista hur många poster som finns i respektive post kategori. Wordpress har en funktion som heter wp_list_pages (http://codex.wordpress.org/wp_list_pages) som enkelt kan filtrera ut undersidorna för den befintliga sidan (bra om man vill gör sub-sub-pages): Kod:
<?php if($post->post_parent) $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0&link_before=<div class='galleryPages'>&link_after=</div>"); else $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&link_before=<div class='gallery Pages'>&link_after=</div>"); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?> Kod:
<li class="pagenav"> Pages [title_li] <ul> <!-- Output starts here if 'title_li' parameter is empty --> <li class="page-item-2 page_item current_page_ancestor current_page_parent"> [parent of the current Page] <ul> <li class="page-item-21 page_item current_page_item"> <div class="[klass]">[the current Page]</div> </li> </ul> </li> <li class="page-item-3 page_item"> <div class="[klass]">[another Page]</div> </li> </ul> </li> Nu kommer det trixiga. Till varje subpage ska jag alltså knyta ett kategori ID eller kategori namn, filtrera ut hur många poster som finns i kategorin med samma namn och sedan dela up resultaten in 2 eller tre kolumner på ett bra sätt. Pages och Category heter lika och därför ska det gå att filtrera ut utan att behöva sätta in ID eller kategori namn manuellt hoppas jag. Rent spontant så känner jag att jag vill ha output någonting sånt här (i pseudokod ): if sats som säger att om det finns subpages så startar en tabell med <table><tr>, annars skrivs inget ut alls (alternativt så skrivs ett meddelande ut bara om sidans namn == huvudsidan så det bara syns där). sedan skapas en <td> som ser ut någonting sånt här: echo <td>$SubPageName ($postCount)</td>; if sats som säger att om det fortfarande finns subpages och antalet <td> i raden är färre än [$numberOfColumns] så skriver vi en till rad som ovan, annars avslutar vi raden med </tr> if sats som säger att om det fortfarande finns subpages så skapas en ny <tr> och varje subpage skrivs ut enligt <td> raden ovan. Om det inte finns så avslutas tabellen med </table> Det ska in en array också som ska hämta information om sub_pages och lista hur många poster som finns i motsvarande kategori med samma namn. Så...någon som känner för att klura lite på den? |
|||
Svara med citat |
2009-06-13, 16:32 | #2 | |||
|
||||
Mycket flitig postare
|
Hmmm...jag ser att någon använt str_replace för att byta ut strängarna i funktionen och på så sätt tvinga in span och klasser:
$top_list = wp_list_pages('echo=0&depth=1&title_li='); $top_list = str_replace(array('">','</a>','<span><a','current_page_item"><a'),array('">< span>','</span></a>','<a','"><a class="s"'), $top_list); return $top_list; då är frågan om jag kan använda något liknande på wp_list_categories och ta bort allt utom postcount och sedan sätta in den variabeln i en liknande string replace som den ovan? Det låter onekligen mycket enklare :P |
|||
Svara med citat |
Svara |
|
|