Ugrás a tartalomhoz


Második szintű almenü kilistázása wp_list_pages-zal?


6 válasz erre a témára

#1 barna

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 62 Hozzászólás:

Elküldve: 2010-03-19 - 16:31 PM

Sziasztok!

Van egy ilyesmi menüstruktúrám:
Állatok
- Kutyák
-- Német juhász
-- Dobermann
- Macskák
-- Perzsa
-- Cirmos

A cél az, hogy ha belemegyek az 'Állatok' menübe, vagy valamelyik alkategóriába akkor ki tudjam listázni a 'Kutyákhoz' és a 'Macskákhoz' tartozó almenüket, ilyen módon:
- Kutyák
-- Német juhász
-- Dobermann
- Macskák
-- Perzsa
-- Cirmos

Ezzel a kóddal részben működik is. (Az 56-os ID itt az 'Állatok' oldalra vonatkozik.)
Tehát megnézi, hogy az 56-os oldalról van-e szó ('Állatok'), vagy annak valamelyik aloldaláról. ('Kutyák', vagy 'Macskák'.)
<?php if(is_page('56') || $post->post_parent == '56') {
wp_list_pages('title_li=&child_of=56');
} ?>
Egy problémám van, hogy ha belemegyek pl. a 'Német juhász' almenübe, akkor már nem jelenik meg a menü. Hogy tudnám kiterjeszteni az if függvényt úgy, hogy a második szintet is figyelembe vegye a parent-child viszonyban?

A wp_page_menu jó lenne ilyen szempontból, de sajnos nem jöhet szóba, mert az minden menüt megjelenít. A lényeg pedig az lenne, hogy ha idővel új alkategóriák kerülnek be, akkor ne kelljen kézzel a kódban turkálni.

#2 barna

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 62 Hozzászólás:

Elküldve: 2010-03-19 - 17:48 PM

No, úgy néz ki sikerült megtalálnom a megoldást:
http://www.benjamina...menu-navigation

Már csak automatizálni kell.

#3 barna

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 62 Hozzászólás:

Elküldve: 2010-03-22 - 12:43 PM

Hát nem sikerült. Valaki esetleg?

#4 Summer

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 18 Hozzászólás:

Elküldve: 2010-03-22 - 13:20 PM

Ha jól értelmezem, akkor mindig az aktuális oldal almenüit (és azok almenüit) szeretnéd kiíratni.
Próbáld ki úgy, hogy:

if (is_page ($post->ID))
  wp_list_pages ("title_li=&child_of={$post->ID}");

Viszont ezzel se fog megjelenni a menü, ha belemész a "Német juhász" almenübe, mivel annak nincsennek almenüi.
Az igazi az lenne ha kicsit bővebben kifejtenéd példákkal, hogy milyen menüpontokat szeretnél látni, amikor az egyes almenükben tartózkodsz.

#5 chiara

    Tag

  • Regisztrált tag
  • PipaPipaPipa
  • 169 Hozzászólás:
  • Település:Budapest

Elküldve: 2010-03-22 - 14:26 PM

Idézet

<?php if(is_page('56') || $post->post_parent == '56') {
wp_list_pages('title_li=&child_of=56');
} ?>
Egy problémám van, hogy ha belemegyek pl. a 'Német juhász' almenübe, akkor már nem jelenik meg a menü. Hogy tudnám kiterjeszteni az if függvényt úgy, hogy a második szintet is figyelembe vegye a parent-child viszonyban?

És ha hozzáírnád a feltételhez, hogy vagy a kutya a szülője vagy a macska a szülője... :-) jól hangzik...

Szerkesztve chiara által: 2010-03-22 - 14:26 PM


#6 barna

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 62 Hozzászólás:

Elküldve: 2010-03-22 - 14:32 PM

Szia, kösz a segítséget!
Igen, ez sajnos így van. Ezen próbáltam agyalni, hogy valamiképpen vissza kellene fejteni a "fő" szülő elemet... Csak sajnos nem vagyok programozó. :)

Viszont megfordítottam a dolgot. Rákerestem, hogy hogyan lehet egy oldalnak a gyerek elemeit visszakapni, és találtam egy ilyen plugint:
http://www.red-root....in-is-child-of/

Ezzel már működik.

#7 barna

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 62 Hozzászólás:

Elküldve: 2010-03-22 - 14:34 PM

Üzenet megtekintéseIdézés: chiara - Dátum: 2010-03-22 - 14:26 PM

És ha hozzáírnád a feltételhez, hogy vagy a kutya a szülője vagy a macska a szülője... :-) jól hangzik...

Csak az már sajnos nem lenne automatikus, és nagyon sok ilyen ID-t kellene kigyűjteni. :)
A fő kategóriák viszont nem fognak változni.





1 felhasználó olvassa ezt a témát.

0 felhasználó, 1 vendég, 0 anonim felhasználó