WordPress: gestire i problemi derivati dalla mancanza di un riassunto per i post

WordPress: gestire i problemi derivati dalla mancanza di un riassunto per i post

Quando il riassunto di un post non viene specificato, WordPress utilizza il campo post_content per estrarre un determinato numero di caratteri da usare come riassunto per la funzione the_excerpt() (o get_the_excerpt()). Ovviamente in questo caso anche la marcatura del post verrà restituita, creando problemi di formattazione. Un altro problema è che WordPress tiene conto dei caratteri e non delle parole, aumentando così i problemi da gestire se si vuole mostrare il riassunto dei post. Vediamo come ovviare a questi problemi.

Creiamo una funzione nel file functions.php che, data una stringa di input, restituisce una stringa contenente solo il numero di parole specificato nel secondo parametro:


function excerpt_limit_words($string, $word_limit) {
  
  $words = explode(' ', $string, ($word_limit + 1));
  
  if(count($words) > $word_limit) {
  	array_pop($words);
  }
  
  return implode(' ', $words);
}

Quindi nel nostro tema possiamo usare questa funzione per creare un riassunto alternativo dopo aver eliminato tutti i tag HTML dalla stringa di input:


<?php
$excerpt = get_the_excerpt();

if ( empty($excerpt) ) {
   
  $content = strip_tags(get_the_content());
  
  echo excerpt_limit_words($content, 50);     
}
?>
Torna su