mb_substr関数は第一引数に対象文字列、第二引数に取得開始位置の数値、第三引数に取得する長さの数値を指定します。対象文字列を0から始まる取得開始位置から、1から始まる取得する長さの分だけ切り出して返します。第四引数にエンコーディングが指定できますが、省略すると内部文字エンコーディングを使用します。
mb_substr('対象文字列','取得開始位置の数値','取得する長さの数値');
WordPressの投稿ページで、metaタグのdescriptionに投稿本文の初めの120文字を設定します。mb_substr関数で投稿本文の初めの120文字を切り出します。
<?php if ( is_single()): ?>
<?php
$summary = strip_tags($post->post_content); //投稿本文からhtmlタグを削除
$summary = str_replace("\n", "", $summary); //投稿本文から改行コードを削除
$summary = mb_substr($summary, 0, 120). "…"; //投稿本文の初めの120文字を切り出し
?>
<meta name="description" content="<?php echo $summary; ?>">
<?php endif; ?>
substr関数でも文字列の切り出しができますが、文字列が日本語の場合は文字化けしてしまいます。日本語の文字列を扱う場合はmb_substr関数を使用します。
