Titoli più corti in WordPress: i principali due modi per realizzarli

Titoli più corti in WordPress: i principali due modi per realizzarli

La necessità di accorciare i titoli in WordPress deriva, il più delle volte, da un’esigenza di carattere pratico: un titolo troppo lungo è infatti a volte incompatibile con le proporzioni o il layout del tema che stiamo usando, per cui ne risulterebbe penalizzato, poco gradevole all’occhio e poco comprensibile per l’utente. Accorciare i titoli in WordPress è un tipo di operazione che possiamo effettuare in vari modi, e vedremo nella pratica come fare attraverso esempi pratici.

La prima cosa che faremo è quella di creare una funzione per accorciare il titolo, che potremo sia richiamare come hook / action sia utilizzare direttamente all’interno delle nostre personalizzazioni.

Pubblicità:

Per poter funzionare correttamente, la funzione in questione andrà inserita, di norma, in uno dei seguenti tre luoghi:

  1. in un plugin personalizzato creato apposta, che ad esempio potrebbe contenere tutte queste funzioni extra che vogliamo prevedere;
  2. in un mu-plugin, con un principio analogo;
  3. nel file functions.php, solo che in questo caso l’implementazione rimarrà legata al theme (se cambiamo theme, non ci ritroveremo più il codice della funzione).

Prima tecnica: accorcia il titolo per numero di caratteri

Ecco l’intestazione:

function shorted_trovalost( $t, $l=30 ){ ... }

La funzione completa, che prende come argomento $t (che è la variabile che contiene il titolo) e $l che è la lunghezza massima, in questa sede è la prima che andremo a considerare, taglia il titolo sulla base del numero di caratteri massimi ($l, nell’esempio, per lasciare il tutto parametrico con 30 come valore di default).

Ed eccovi l’esempio:

function shorted_trovalost( $t, $l ){
if ( strlen( $t ) > 30 ) { //Character length
$title_short = substr( $t, 0, 30); // Character length
preg_match('http://cdn1-e96d.kxcdn.com/^(.*)\s/s', $title_short, $matches);
if ($matches[1])
$title_short = $matches[1];
$title_short = $title_short.' ...';
} else {
$title_short = $t;
}
return $title_short;
}

Possiamo richiamare una funzione così in questo modo:

$titolo_corto = shorted_rovalost( get_the_title(), 15 );

che in pratica assegna alla variabile $titolo_corto il valore del title corrente, accorciato di 15 caratteri; attenzione che in questo contesto sto facendo l’ipotesi che ci troviamo in un punto del file single.php e comunque all’interno del loop. Per fare in modo di ricavare il title corrente fuori dal loop, in caso, bisogna sfruttare una variabile globale, ad esempio:

global $post; 
$post_id =$post->ID; 
$titolo = get_the_title($post_id); 
$titolo_corto = shorted_rovalost( $titolo, 15 );

Seconda tecnica: accorcia il titolo per numero di parole

Una seconda tecnica sfruttabile per accorciare i titoli di WordPress è quella di accorciare per numero di parole, che secondo alcuni è un modo più safe per eseguire l’operazione  e non rendere incomprensibile il testo in certe situazioni.

Pubblicità:

Ecco come fare:

function shorted_by_words_trovalost($t, $l, $after = '...') {
$mytitle = explode(' ', $t, $l);
if ( count($mytitle)>=$l ) {
array_pop($mytitle);
$mytitle = implode(" ",$mytitle). $after;
} else {
$mytitle = implode(" ",$mytitle);
}
return $mytitle;
}

Possiamo richiamare una funzione così in questo modo:

$titolo_corto = shorted_by_words_trovalost( get_the_title(), 15 );

In questo secondo caso ci prendiamo il title, andiamo a scomporlo nella funzione in “pezzi” (cioè parole, cioè stringhe separate da spazi mediante la funzione explode() ) e ci andiamo a creare un array delle prime $l parole. Questo array sarà ricomposto come stringa con la funzione implode e restituita dalla funzione. Le considerazioni precedenti, ovviamente, valgono qui in eguale misura.Photo by tacker


Informazioni sull'autore

Salvatore Capolupo

Ingegnere informatico, blogger, consulente SEO ed ideatore di trovalost.it.
Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.