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()
esingle_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 soloPost 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.