mb_strlen関数は第一引数に対象文字列を指定します。指定した対象文字列の長さを数値で取得します。第二引数にエンコーディングが指定できますが、省略すると内部文字エンコーディングを使用します。
mb_strlen('対象文字列');
WordPressのメインループでリンク付きのタイトル一覧を表示します。タイトルが10文字よりも多い場合は、mb_substr関数でタイトルの初めの10文字を切り出して省略記号と結合して表示します。タイトルが10文字以内の場合はそのまま表示します。タイトルの文字数はmb_strlen関数でカウントしています。
<?php if(have_posts()): ?>
<?php while(have_posts()): the_post(); ?>
<h2><a href="<?php the_permalink(); ?>">
<?php
$title = get_the_title();
echo mb_strlen($title, 'UTF-8') > 10 ? mb_substr($title, 0, 10, 'UTF-8') . '…' : $title;
?>
</a></h2>
<?php endwhile; ?>
<?php endif; ?>
strlen関数でも対象文字列の長さが取得できますが、バイト数での取得になるため日本語の全角1文字は2バイトの取得になります。バイト数ではなく文字数で取得したい場合は、mb_strlen関数を使用します。半角1文字も全角1文字も1文字の取得になります。
