Kom ihåg mig?
Home Menu

Menu


Wordpress utmaning!

Ämnesverktyg Visningsalternativ
Oläst 2009-06-13, 15:55 #1
Mortekais avatar
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2004
Inlägg: 587
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
Mortekais avatar
 
Reg.datum: Jan 2004
Inlägg: 587
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 } ?>
I mitt exempel har jag lagt in varje instans i en div så output blir någonting så här:

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>
På samma sätt kan funktionen wp_list_categories (http://codex.wordpress.org/Template_...ist_categories) ge antal poster i varje kategori.


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?
Mortekai är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-06-13, 16:32 #2
Mortekais avatar
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2004
Inlägg: 587
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
Mortekais avatar
 
Reg.datum: Jan 2004
Inlägg: 587
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
Mortekai är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 03:07.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017