Il “riassunto” di un post o di una pagina è davvero molto importante in molti template, i quali richiamano tale campo per invogliare il visitatore a leggere l’intero contenuto.
Il riassunto standard di WordPress richiama unicamente i primi 55 caratteri, per poi fare un link al contenuto completo.
Può però essere utile metter mano al codice del riassunto, per modificare i dati che esso visualizza.
Per far questo occorre metter mano al codice, dunque è buona norma ricordarsi di fare un backup completo del file che andremo a modificare.
Una seconda ed importantissima notazione è che andremo a modificare un file del core di WordPress, non del template. Questo comporta il fatto che questa procedura è valida per WordPress 3.1.2, ma non è detto sia valida con le prossime release e comunque va rifatta ad ogni aggiornamento del core di WordPress.
Il file che ci interessa si trova all’interno della cartella WP-include e si chiama formatting.php. Una volta individuato possiamo aprirlo con un qualsiasi editor di testo non formattato (TextPad, TextEdit, etc…).
Una volta aperto, cerchiamo la funzione wp_trim_excerpt(). Troveremo (in WordPress 3.1.2) il seguente codice a partire dalla riga 1859:
function wp_trim_excerpt($text) {
$raw_excerpt = $text;
if ( '' == $text ) {
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text);
$excerpt_length = apply_filters('excerpt_length', 55);
$excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
$words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(' ', $words);
$text = $text . $excerpt_more;
} else {
$text = implode(' ', $words);
}
}
return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}
A noi interesseranno in questo articolo solo 3 comandi, quelli più importanti, lasciando lo studio degli altri comandi a chi interessato.
- strip_tags() – tale funzione dichiara quali TAG HTML devono essere considerati. Se ad esempio all’interno dei nostri riassunti vogliamo inserire anche le immagini, utilizzeremo strip_tags($text, ‘<img>’)
- apply_filters() – tale funzione, con parametro “excerpt_length”, indica quanti caratteri considerare. Lo standard è 55, ma se vogliamo, ad esempio, solo i primi 10 caratteri, utilizzeremo apply_filters(‘excerpt_length’, 10)
- apply_filters() – tale funzione, con parametro “excerpt_more”, indica il carattere inserito al termine del riassunto, che funge da link all’intero contenuto. Se ad esempio, invece che […] vogliamo appaiano le freccette, useremo apply_filters(‘excerpt_more’, ‘ ‘ . ‘>>’)