Supporto » Aspetto = Temi » Personalizare sidebar pagina categorie

  • Risolto giafa

    (@giafa)


    Salve, sto provando a risolvere un problema di cui non capisco proprio la metodologia.
    Ho un tema a 2 e 3 colonne (GeneratePress) ed ho la home impostata con le due sidebar laterali. Quando richiamo una determinata pagina di categorie vorrei che la pagina si mostrasse con una sola sidebar.
    Riesco a personalizzare la testata ma non il layhout della pagina.
    Come posso fare?

Stai vedendo 11 repliche - dal 1 al 11 (di 11 totali)
  • Ciao @giafa,
    e benvenuto sul forum 🙂

    Il tema, almeno nella sua versione free, ti permette di gestire il layout di pagina in macroblocchi (qui la documentazione del tema)

    Quindi puoi ottenere un layout a tre colonne in HomePage e a due in quello del Blog, ma non puoi limitarlo a una sola categoria.

    Se necessiti proprio di questo, puoi vedere se nella versione Pro il tema lo prevede, oppure creare un template file ad hoc in un Child Theme.

    Grazie glorialchemica =)
    e un saluto a tutt@ (non lo ho fatto prima perché pensavo di averlo già fatto e me ne scuso).
    In effetti sono passato al pro e cosi le pagine le ho risolte ma non vedo alcuna funzione per le categorie.
    Sto provando a inserire la pagina archive.blog.php nel tema child clonandola dalla index … ho sostituito la riga:
    do_action(‘generate_sidebars’);
    con
    do_action(‘generate_right-sidebar’);
    ma non succede nulla
    Puoi aiutarmi a capire come procedere? Come modificare la pagina php in modo da avere solo la sidebar di destra e non tutte e due?

    Cioa @giafa,
    parti dalla corretta gerarchia dei template. Il nome che hai assegnato al file non va bene.
    Qui trovi l’handobook con tutte le informazioni sulla gerachia dei template di WP.

    Sulla base di queste regole devi quindi creare un file che si chiami category-[id-categoria].php o category-[name-category].php.

    Ad esempio se la categoria sulla quale vuoi intervenire ha ID 6 e si chiama unicorni, crei un template file che si chiami category-6.php o category-unicorni.php.

    Come punto di riferimento vedi se il tema Genitore ha già un template file chiamato category.php o archive.php da cui copiare il codice.

    A questo punto le modifiche, se sono corrette, dovresti vederle.

    Facci sapere 🙂

    • Questa risposta è stata modificata 1 mese, 3 settimane fa da  glorialchemica.

    incrociamo le dita =) =) =)

    @glorialchemica …. il file (clonato da archive.php) lo ho caricato nel tema child ed ho attribuito il nome giusto correggendo l’errore che avevo fatto ma evidentemente le mie conoscenze di php sono proprio scarse.

    Ho pensato di cambiare queste riga di codice che si trovano alla fine del file:
    <?php
    do_action(‘generate_sidebars’);
    get_footer();

    con

    <?php
    do_action(‘generate_right-sidebar’);
    get_footer();

    ma non accade nulla.
    Puoi mettermi sulla strada giusta?
    Sono volenteroso ma non so da dove iniziare

    Ciao @giafa,
    mi fai capire esattamente che risultato vuoi ottenere?

    Home -> 3 colonne

    Categoria Specifica -> 2 colonne con sidebar dove? (dx o sx)

    Il resto del sito sidebar dove?

    Ciao @glorialchemica

    home -> 3 colonne
    categoria-blog -> 2 colonne sidebar dx

    questo il sito di prova su cui sto lavorando:
    http://perlaterra.net

    questa la landing page del blog -> http://perlaterra.net/bloger/
    questa la pagina categorie con i post del blog -> http://perlaterra.net/post/category/blog/

    Su questa pagina categorie vorrei due colonne sidebar a destra

    Ciao @giafa,
    alla fine la soluzione era nella prima risposta che ti ho dato! Leggere la documentazione 🙂

    Il template file specifico non serve. Eliminalo.

    Devi invece aggiungere al tuo file functions.php del ChildTheme queste righe:

    /* Both Right Sidebar On Category Archive*/
    
    add_filter( 'generate_sidebar_layout','tu_custom_category_sidebar_layout' );
    function tu_custom_category_sidebar_layout( $layout )
    {
     	// If we are on a category, set the sidebar
     	if ( is_category() )
     	 	return 'both-right';
    
     	// Or else, set the regular layout
     	return $layout;
    
     }

    Così sulla pagina che mi hai indicato avrai le due sidebar a destra.

    Facci sapere 🙂

    • Questa risposta è stata modificata 1 mese, 3 settimane fa da  glorialchemica.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da  glorialchemica.

    Perfetto, fantastico ….. non solo ho capito ma sto studiando le diverse possibili variabili nel file function.php.
    Con il codice che mi hai indicato ho impostato la right-bar nella categoria richiesta e con un plugin ho sostituito per quella categoria il suo contenuto ….
    http://perlaterra.net/post/category/blog/
    Approfitto ancora della tua disponibilità: posso inserire direttamente nel codice il richiamo alla sidebar personalizzata invece di richiamarla in sostituzione con un plug-in?

    chiudo il post e metto risolto. Grazie @glorialchemica

    Ciao @giafa,
    sono contenta che almeno in parte tu abbia risolto.

    Per quanto riguarda la personalizzazione dei contenuti della sidebar, personalmente ho sempre utilizzato dei plugin.

    Se vuoi intervenire a livello di codice, apri un nuovo topic, magari qualcun altro saprà esserti di aiuto 🙂

Stai vedendo 11 repliche - dal 1 al 11 (di 11 totali)
  • Devi essere collegato per rispondere a questo topic.