Supporto » Funzionalità = Plugin » Mettere in H3 i titoli dei post nella pagina blog

  • Ciao a tutti,

    vorrei fare in modo che nella pagina blog del mio sito i titoli dei singoli post venissero impostati come H3 e non come H1 come succede ora. Ecco la mia pagina blog:

    http://www.strumentimusicalikawabonga.com/category/blog/

    Come vedete c’è un H1 per ogni articolo mostrato. Come posso fare questa modifica? Attualmente utilizzo il tema STORE.

    Ringrazio tutti!!!
    Ciao 🙂

Stai visualizzando 7 risposte - dal 1 al 7 (di 7 totali)
  • Thomas Vitale

    (@thomas-vitale)

    Ciao @mvigano87,

    il tema Store definisce il tag h1 per i titoli della pagina blog del tuo sito nel file ‘archive.php’. Alla riga 14 di questo file c’è la seguente funzione:

    the_archive_title( '<h1 class="page-title">', '</h1>' );

    che può essere modificata sostituendo con h3 le due occorrenze di h1 per ottenere il risultato desiderato.

    Ti consiglio di non modificare direttamente il file del tema, ma di usare un tema figlio. Nello specifico, una volta definito un tema figlio così come spiegato nella guida linkata, copia il file ‘archive.php’ nel tema figlio ed effettua le modifiche su questa copia del file.

    Spero di essere stato d’aiuto,

    Thomas

    Chi ha creato la discussione mvigano87

    (@mvigano87)

    Ciao @thomas-vitale e grazie mille per l’aiuto!

    In effetti avevo già provato a fare la modifica che mi hai suggerito. Nello specifico nel file ‘archive.php’ ho modificato la seguente riga:

    the_archive_title( ‘<h1 class=”page-title”>’, ‘</h1>’ );

    con:

    the_archive_title( ‘<h3 class=”page-title”>’, ‘</h3>’ );

    Tuttavia come puoi vedere dalla pagina del blog i titoli vengono ancora messi in H1:

    http://www.strumentimusicalikawabonga.com/category/blog/

    Hai idea del perché?

    Grazie ancora per i preziosi consigli, anche relativi al tema figlio!

    Matteo

    Moderatore Guido Scialfa

    (@wido)

    Ciao @mvigano87,

    Per quanto riguarda i post non devi utilizzare **the_archive_title** che è riferito al titolo dell’archivio corrente.

    Il tema definisce quanto segue in **inc/storefront-template-functions.php:331**

    the_title( sprintf( '<h2 class="alpha entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );

    Quindi il fatto che tu abbia un h1 può darsi che derivi da una customizzazione di plugin o child theme.

    Se hai un child attivo puoi sovrascrivere la funzione che è pluggabile nel tuo file **functions.php** e modificare quella riga usando l’h3.

    Purtroppo non vi sono filtri da poter utilizzare per il the_title senza che questo comunque aggiunga i tags h2 ed a.

    Info utili:
    Creare Temi Child

    Thomas Vitale

    (@thomas-vitale)

    @mvigano87 giusto, scusami, mi sono confuso, quella funzione è responsabile della stampa del titolo dell’archivio, non del titolo dei post.

    Grazie @wido per la correzione!

    • Questa risposta è stata modificata 7 anni, 4 mesi fa da Thomas Vitale.
    Chi ha creato la discussione mvigano87

    (@mvigano87)

    Grazie @wido e @thomas-vitale

    Possibile che non trovi la funzione descritta nel file **functions.php** ?
    Dovrei trovarlo sempre nell’editor giusto?

    Grazie

    Thomas Vitale

    (@thomas-vitale)

    @mvigano87 come scritto da @wido, il titolo dei post è definito nel file ‘inc/storefront-template-functions.php’ all’interno di una funzione chiamata ‘storefront_post_header’. È una funzione pluggable (maggiori informazioni qui). In breve significa che nel file functions.php del tuo tema figlio puoi ridefinire la stessa funzione che, in automatico, andrà a sostituire quella definita nel tema padre.

    Nel file functions.php del tema figlio, quindi, andrebbe inserita la seguente funzione:

    function storefront_post_header() {
    		?>
    		<header class="entry-header">
    		<?php
    		if ( is_single() ) {
    			storefront_posted_on();
    			the_title( '<h1 class="entry-title">', '</h1>' );
    		} else {
    			if ( 'post' == get_post_type() ) {
    				storefront_posted_on();
    			}
    
    			the_title( sprintf( '<h2 class="alpha entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
    		}
    		?>
    		</header><!-- .entry-header -->
    		<?php
    	}

    Per avere i titoli della pagina Blog del tuo sito come <h3> si deve cambiare l'<h2> nella seconda occorrenza di ‘the_title()’ (la prima occorrenza, invece, definisce il titolo per la pagina singola di un post). Come già scritto, il fatto che attualmente abbiano un tag <h1> potrebbe essere dovuto alla personalizzazione fatta nel tema figlio o in un plugin.

    • Questa risposta è stata modificata 7 anni, 4 mesi fa da Thomas Vitale.
    Moderatore Guido Scialfa

    (@wido)

    Assicurati anche che tu abbia il tema aggiornato, dato che hai un h1 invece di un h2 come scritto sopra potrebbe derivare da un plugin, o se hai già un child attivo o dal tema non aggiornato.

Stai visualizzando 7 risposte - dal 1 al 7 (di 7 totali)
  • Il topic ‘Mettere in H3 i titoli dei post nella pagina blog’ è chiuso a nuove risposte.