Articles

Come ottenere il titolo della pagina corrente in WordPress

A volte vogliamo ottenere il titolo della pagina corrente, che viene visualizzato nel tag <title>. Qui intendo la pagina in senso generale, non la “pagina” di WordPress. Abbiamo diverse funzioni di WordPress che possono aiutare come:

  • get_the_title(): per ottenere il titolo corrente del post/page/qualsiasi tipo di post
  • single_cat_title(): per ottenere il titolo corrente della categoria. Ci sono anche funzioni sorelle per i tag e i termini: single_tag_title() e single_term_title()
  • get_bloginfo(): per ottenere il nome del blog
  • ecc. Ma possiamo avere molti tipi di pagine in WordPress come: Pagina 404, pagina dei risultati di ricerca, pagina dell’archivio, o anche pagina virtuale.
  • Il titolo viene visualizzato in modo diverso nei temi: si può usare un tema che ha il titolo in formato Post Title | Blog Name, ma un altro tema può usare solo Post Title. Puoi fare una combinazione delle funzioni di cui sopra per ottenere il titolo corretto, ma questo non sarà molto usato per altri temi.
  • Oppure potresti impostare il titolo in vari modi con i plugin SEO

In questo post, userò un semplice trucco che può risolvere rapidamente questi problemi.

Sono sicuro che tutti noi abbiamo familiarità con la funzione wp_title(), spesso usiamo questa funzione nel file header.php, come questa:

<title><?php wp_title( '|', true, 'right' ); ?></title>

per visualizzare il titolo della pagina (dovresti usare solo questa funzione per visualizzare il titolo della pagina, altrimenti il tuo sito potrebbe non essere compatibile con i plugin SEO o causare problemi di prestazioni).

Il trucco è cambiare il 2° parametro $echo da true a false per ottenere il valore del titolo della pagina corrente:

$title = wp_title( '|', false, 'right' );

Ecco un esempio dove questa tecnica è utile. Stiamo per visualizzare un pulsante di Twitter. Userò un’altra tecnica interessante per ottenere l’URL della pagina corrente:

global $wp;$link = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );$text = wp_title( '|', false );printf( '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://platform.twitter.com/widgets/tweet_button.html?url=%s&text=%s&count=horizontal"></iframe>', urlencode( $link ), rawurlencode( $text ));

Io attualmente uso lo script di cui sopra (con alcune aggiunte per i pulsanti Facebook like, Google+) per i miei siti web. E sta funzionando alla grande nelle pagine di archivio dove le funzioni integrate di WordPress non sono molto utili.