• User

    Consiglio per sito in wp

    Ciao a tutti,
    vorrei chiedere un consiglio per realizzare un sito web dedicato ad un artista in wordpress. Attualmente il sito è realizzato in joomla, ma mi piacerebbe migrare tutto. Premesso che non ho trovato tools di migrazione e che sono rassegnato a riscrivere tutto, vorrei capire come organizzare una struttura di questo tipo.

    Un macro sezione "artista" con sottosezioni tipo opere, biografia etc.
    Vorrei poi usare il blog come home.

    Il mio dubbio è questo: mi conviene utlizzare tante pagine, creando la pagina madre "artista" con le varie sottopagine oppure creare tante categorie quante sono le sezioni desiderate (es. categoria "artista") e fare un post per ogni sottosezione (ossia un post per la bio, una per le opere..). In quest'ultimo caso però non mi piace l'idea che per ogni post si veda la data di pubblicazione. Togliendo però i tag li andrei a togliere anche sul blog..

    So che ho scritto un post contorto.. ma spero di avere qualche suggerimento.
    Grazie


  • User Attivo

    Ciao korg74 e benvenuto sul forum GT. Io di solito utilizzo le pagine per tutte le sezioni tipo: biografia, opere, eccetera, per ogni pagina puoi ovviamente avere sotto-pagine e ramificare ad albero. Manterrei i posts per cose tipo rassegna, mostre o altri articoli dinamici tipo blog.

    Usando le pagine ci si può veramente sbizzarrire su come gestirle, per esempio potresti avere tutte le pagine madri in un menu orizzontale in alto, e le pagine figlie verrebbero listate nel menù verticale a destra o sinistra, solo quando sei nella pagina 'madre. Oppure avere un menu laterale che si espande mostrando le sotto-pagine.


  • User

    Grazie Jantima, gentilissima.
    QUello che mi proponi è ciò che avevmo in mente e che, in parte, ho messo in pratica per il mio sito personale (che ho usato come una sorta di test per l'altro). Purtroppo non sono riuscito a capire come mostrare le sottopagine. Ti spiego: il tema che ho scelto elenca le pagine madri sotto l'header. Tutto ok. Le sottopagine le ho dovute mostrare inserendo nel corpo della pagina madre delle immagini per ogni sottosezione: cliccando si accede alla sottopagina. Ciò non mi piace moltissimo. Per ovviare ho inserito nella sidebar il widget delle pagine che mi fa vedere tutto il ramo. Per il mio può andar bene così, son poche pagine, per l'altro avrei un albero enorme.. che mi occuperebbe tutta la sidebar.
    Il mio problema quindi è come mostrare le sottopagine. Il menù che si espande mi piace, ma come farlo? Esistono plugin? Bella anche l'idea di mostrare le sottopagine una volta effettuato l'accesso alla pagin madre, ma anche qui, come fare? Scusa, non sono ferratissimo in questo campo! :giggle:
    Grazie del benvenuto.


  • User Attivo

    Se ho capito bene il tuo problema questo può fare a caso tuo:
    Breadcrumb Navigation XT


  • User

    Grazie Japgalaxy,
    il plugin che mi proponi è interessante ma non è quel che cerco. Forse non so spiegarmi o forse dico cose che sono elementari per voi ma sconosciute per me.
    Io vorrei che cliccando dal menù la pagina madre, o che in un menù a discesa compaiano le sottopagine o che nella pagina madre che si apre sia possibile raggiungere le sottopagine.

    Se è possibile ti mando in pvt l'indirizzo del mio sito personale per farti capire.


  • User Attivo

    Ok manda pure così capisco meglio... 😉


  • User Attivo

    Ciao korg74, ci sono veramente moltissimi modi di fare quello che chiedi. E' quello che ho sempre voluto fare anche io nei miei siti wordpress ed ogni volta lo ho affrontato in maniera diversa.

    Uno dei metodi forse più semplici è di usare i css. Ovvero nella sidebar si mette il codice che stampa la lista di tutte le pagine. La lista viene stampata automaticamente da wordpress con, per ogni elemento della lista, delle classi css che ti permettono di scegliere quali elementi della lista saranno visbili e quali invisibili. Per esempio se il tuo template ti mostra le pagine madri in un menù orizzontale in alto, nella sidebar avrai tutte le pagine listate invisibili tranne quelle che sono correntemente figlie o sottofiglie della pagina corrente. ovviamente devi agire in maniera specifica sul css.
    Per esempio , considera questa frazione di sidebar:

    
    <div id="sidebar">
    <ul>
    <li class="page_item page-item-6 current_page_ancestor current_page_parent">
    <a href="">Pagina madre</a>
        <ul>
            <li class="page_item page-item-32 current_page_item">
                 <a  href="">pagina figlia</a>
            </li>
        </ul>
     </li>
    </ul>
    </div>
    
    

    Tu vorrai che la pagina madre sia invisibile (perchè la hai attiva già nel menù orizzontale in alto (per esempio se sono tabs))

    E vuoi che tutte le pagine figlie e sottofiglie siano visibili, non solo quando sei nella pagina madre ma anche quando sei nelle pagine figlie. Per ottenere questo il tuo CSS sarà una cosa tipo:

    
    
    #sidebar ul{
           display:none;
    }
     ul li.current_page_ancestor ul li a, 
     ul li.current_page_parent ul li a {
           display:none;
    } ul li.current_page_ancestor ul li ul,  ul li.current_page_parent ul li ul  {    
           display:block;
    }
    
    
    

    Non ho provato questa specifica combinazione ma spero che funzioni (se non funziona basta sistemare qualcosina ma deve poter funzionare!)!

    Altri metodi sono:

    
    <ul>
      <?php
      global $id;
      wp_list_pages("title_li=&child_of=$id"); ?>
    </ul>
    
    

    http://codex.wordpress.org/wp_list_pages#List_Sub-Pages

    Oppure funzioni particolari ... dipende da cosa vuoi fare e che strada preferisci seguire.

    Per il menù che si espande ti consiglio un plugin che si chiama WP-dTree (Io lo ho usato [url=http://marcellomagoni.it/]qui).


  • User

    Grazie davvero Jantima!
    Ho provato il plugin WP-dTree ed è davvero carino, l'ho adottato subito.
    Per il resto.. non sono molto ferrato in queste cose, per questo il tutto mi risulta un pò difficile. Ad esempio, il codice

    #sidebar ul{
           display:none;
    }
     ul li.current_page_ancestor ul li a, 
     ul li.current_page_parent ul li a {
           display:none;
    } ul li.current_page_ancestor ul li ul,  ul li.current_page_parent ul li ul  {    
           display:block;
    }
    

    Va inserito nel css in uso del mio tema o devo crearne uno nuovo?
    Idem per il codice

    <ul>
      <?php
      global $id;
      wp_list_pages("title_li=&child_of=$id"); ?>
    </ul>
    

    va inserito in un css o può essere inserito in una pagina?

    Ti prego di avere pazienza, so che sono domande stupide per chi conosce wp.
    Grazie ancora.


  • User Attivo

    Ciao, se decidi di utilizzare il WP-dTree, non è facile modificarlo per modo che mostri solo le pagine figlie della pagina attuale in cui sei. Io stessa non ci ho nemmeno provato. Quindi devi decidere se vuoi un menu in alto, orizzontale, con le pagine madri, e vuoi le pagine figlie listate in un menu verticale, oppure se vuoi il menu che si espande.

    Per la prima soluzione, la cosa da fare con il css come ti ho descritto. Il codice css lo metti nel css del tema in corso, a dire il vero dovresti prima cercare se ci sono già regole per gli stessi stili, se ci sono dovrai modificare quelle.

    Mentre il codice wp_list_pages() è il codice che genera la lista delle pagine, se guardi nel codice del template che usi dovresti trovare già qualcosa di simile ma che magari non ha il parametro per mostrare solo le figlie.

    Il tuo template utilizza probabilmente, per creare la barra in alto, un codice simile con qualche parametro che fa in modo che solo le pagine madri vengano listate. Mi domando in che maniera (il template che usi) gestisca le pagine figlie...

    Praticamente quel codice che ti ho scritto andrebbe nella sidebar.php. Se c'è già un codice simile allora bisogna sostituirlo con la versione da me suggerita che ha il parametro per mostrare solo le pagine figlie. Se vuoi mandami il link al tuo sito così magari posso aiutarti meglio.