• Super User

    Grazie ragazzi, ho risolto con questo pezzetto di codice nell'header

    $pagina=$wp_query->post->ID;
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
    

    Sono soddisfatto però all'80% in quanto con questa soluzioni mi mostra pagine "figlie" e "nipoti" io invece vorrei mostrasse solo il primo livello (quindi solo figli, niente nipoti).
    Se riuscissi in quest'ultima cosa sarebbe proprio il massimo, anche se già mi sta bene così.

    Grazie a tutti :ciauz:


  • Super User

    strano perché con depth=1 dovrebbe mostrare solo le sottopagine!

    in realtà leggendo il codex inglese noto una sfumatura diversa nella descrizione di DEPTH... non capisco se si riferisce alla root o alla pgina in cui si è


  • Super User

    Adesso non mi funziona di nuovo (nella home page non mi linka la pagina principale), appena ho tempo ci rimetto mano e se risolvo vi faccio sapere.


  • User Attivo

    a me il codice:

    [php]$pagina=$wp_query->post->ID;
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
    [/php]
    Mostra solo i figli di primo livello della pagina corrente.

    Nella variabile $wp_query->post->ID c'è l'id della pagina solo se ti trovi in una pagina.

    Io non so di preciso cosa vuoi ottenere, se ad esempio vuoi che:

    • Se sei in una pagina vedi i figli di 1° livello
    • se non sei in una pagina vedi il 1° livello

    puoi fare:

    [php]$pagina = (is_page()) ? $wp_query->post->ID : 0;
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
    [/php]
    che è come scrivere:

    [php]if(is_page()){
    $pagina=$wp_query->post->ID;
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
    } else {
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of=0');
    }[/php]


  • Super User

    Spero di avere il tempo di provare pomeriggio, appena lo faccio vi informo


  • User Newbie

    salve, io ho utilizzato questi comandi che avete dato.. ho un sol oproblema.. vorrei che l'output fosse col nome della pagina, non con l'id... (che nell'output di wp_list_pages agisse il mod_rewrite per intenderci....) voi avete idea di come fare?io ho cercato un pò in giro ma non ho trovato nulla a riguardo


  • User Attivo

    ciao, se definisci un permalink nelle opzioni, anche l'utl delle pagine dovrebbe essere riscritto automaticamente, credo...


  • User Newbie

    si, adesso è ok ^__^


  • User

    ciao raga,
    io volevo fare in modo di escludere una pagina dalla barra principale ed arrivare a questa tramite un link che ho creato nella sidebar.
    sapete come posso fare?
    grazie!


  • User

    Finora, l'unica cosa che sembra avere a che fare col mio problema è questo codice nella pagina header

    <!-- navigation ................................. -->
    <div id="navigation">
    <ul>
    <li<?php if (is_home()) echo " class="selected""; ?>><a href="<?php bloginfo('url'); ?>">Home</a></li>
    <?php
    $pages = get_pages();
    if ($pages) {
    foreach ($pages as $page) {
    $page_id = $page->ID;
    $page_title = $page->post_title;
    $page_name = $page->post_name;
    if ($page_name == "archives") {
    (is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' class="selected"':$selected='';
    echo "<li".$selected."><a href="".get_page_link($page_id)."">Archives</a></li>\n";
    }
    elseif($page_name == "home") {"";
    }
    elseif($page_name == "about") {
    (is_page($page_id))?$selected = ' class="selected"':$selected='';
    echo "<li".$selected."><a href="".get_page_link($page_id)."">About</a></li>\n";
    }
    elseif ($page_name == "about_short") {/ignore/}
    else {
    (is_page($page_id))?$selected = ' class="selected"':$selected='';
    echo "<li".$selected."><a href="".get_page_link($page_id)."">$page_title</a></li>\n";
    }
    }
    }
    ?>
    </ul>

    </div>
    <!-- /navigation -->

    Forse è questo che devo modificare?


  • Super User

    Ciao blaze++, il post è molto datato, ti consiglio di aprire un topic nella sezione dedicata a wordpress:

    http://www.giorgiotave.it/forum/wordpress/

    🙂