Potresti fare la divisione, invece che per caratteri, per periodi. Quindi, invece che fare una cosa così:
Codice PHP:
<?php
$testo = substr('testo articolo, ciao. questo testo non viene visualizzato tutto', 0, 5);
// visualizza 'testo'
echo $testo;
?>
Puoi fare così:
Codice PHP:
<?php
$testo = explode('.', 'testo articolo, ciao. questo testo non viene visualizzato tutto');
// visualizza 'testo articolo, ciao'
echo $testo[0];
?>
Ovviamente questa tecnica si può migliorare molto e, cosa più importante, per applicarla dovresti agire direttamente sul codice sorgente di WordPress.