WordPress のフォーマット用関数 wp_trim_words()
を使えばOK。
echo wp_trim_words( '文字列', 文字数 );
英数字もマルチバイトもそれぞれ1文字を「1文字」としてカウントしてくれる。
$text = 'あい1うえお かきくけこ さしすせそ たちつてと';
echo wp_trim_words( $text, 10 );
で「あい1うえお かきく…」と表示される。
省略記号はデフォルトで 「…」…
なので、変更したい場合は第3引数で指定する。
$text = 'あい1うえお かきくけこ さしすせそ たちつてと';
echo wp_trim_words( $text, 10, '(以下省略)' );
とすれば「あい1うえお かきく(以下省略)」と表示される。
もちろん「文字列」は記事タイトルでも何でもOK。
echo wp_trim_words( get_the_title(), 10 );