Avatar billede kimdolleris Nybegynder
04. juli 2011 - 18:26 Der er 5 kommentarer og
1 løsning

Wordpress list_pages flere niveaur hver for sig

Hej!

Jeg sidder og kæmper med at få noget navigation til at virke i et wordpress theme.

Jeg har brugt wp_list_pages (og vil fortsat gerne bruge den) til at liste mine sider på, men har problemer med at få det til at fungere hver for sig i flere niveauer.

Jeg skal bruge niveau 1 ét sted, niveau 2 et andet sted og niveau 3 et helt tredje sted. Niveau 2 og 3 er selvfølgelig children til valgte øvre punkt.

http://kim.dolleris.net/_filearea/niveauer.jpg

Valgte menuer må ikke ændre sig.

Det jeg leder efter et de kode-stykker jeg skal sætte ind i de givne div'er for at den viser den rigtige navigation.


---- kode fra http://codex.wordpress.org/Function_Reference/wp_list_pages ----

<?php
  if($post->post_parent)
  $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
  else
  $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
  <?php } ?>

----

Jeg ved der er noget der hedder post_ancestor - måske det kan bruges?


PFT! :-)

Kim
Avatar billede knmuel1 Nybegynder
04. juli 2011 - 20:17 #1
Hello ,
  I have long experience working with Wordpress.
I have read the translted task you announced herein.
I can handle it .
Let me know asap.
Regards ,
Avatar billede kimdolleris Nybegynder
04. juli 2011 - 21:41 #2
Nå, fik mig lusket frem til en løsning selv..


functions.php

function navigation_get_depth($id = '', $depth = '', $i = 0)
{
    global $wpdb;
    global $post;

    if($depth == '')
    {
        if(is_page())
        {
            if($id == '')
            {
                $id = $post->ID;
            }
            $depth = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE ID = '".$id."'");
            return navigation_get_depth($id, $depth, $i);
        }
    }
    elseif($depth == "0")
    {
        return $i;
    }
    else
    {
        $depth = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE ID = '".$depth."'");
        $i++;
        return navigation_get_depth($id, $depth, $i);
    }
}


hvor niveau 2 skal bruges

$parent = get_post($post->post_parent);
$grandparent = $parent->post_parent;
                   
if (navigation_get_depth() == 2){
    $children = wp_list_pages("title_li=&child_of=".$grandparent."&echo=0&depth=1");
}
                   
if (navigation_get_depth() == 1){
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0&depth=1");
}
                   
if (navigation_get_depth() == 0){
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&depth=1");
}
                   
if ($children) {
    echo '<ul>';
    echo $children;
    echo '</ul>';
}



hvor niveau 3 skal bruges


if (navigation_get_depth() == 2){
    $childrenschildren = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0&depth=1");
}
         
if (navigation_get_depth() == 1){
    $childrenschildren = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&depth=1");
}
         
if ($childrenschildren) {
    echo '<ul>';
    echo $childrenschildren;
    echo '</ul>';
}
Avatar billede kimdolleris Nybegynder
04. juli 2011 - 21:41 #3
..
Avatar billede knmuel1 Nybegynder
04. juli 2011 - 21:56 #4
Hej ,
Må jeg se linket til denne hjemmeside?
kan du dette som et eksempel,
http://mediehusetluksus.dk/egne-medier/vores-medier/

i toppen er de vigtigste sider
nederst er de  underliggende  sider
Hilsen
Avatar billede kimdolleris Nybegynder
04. juli 2011 - 22:02 #5
Den er under udvikling - og derfor stadig hemmelig. Men problemet er løst - fik det til at virke :)
Avatar billede knmuel1 Nybegynder
04. juli 2011 - 22:48 #6
Jeg kan få den at virke , uden at jeg ser linket ..
hvis det er stadig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester