お知らせ/ブログ
WordPressのタイトルや抜粋文を省略したい時に実装した際の制作メモです。
PHPの関数を使用しています。
文字数を制限することで全体的に綺麗なレイアウトになるのでよく使用します。
タイトルの文字数制限
指定のPHPに配置
<!-- タイトルの文字数制限 -->
<?php echo mb_strimwidth(get_the_title(), 0, 50, "..."); ?>
「50」のところは任意の数値に変更してください。
50=25文字までとなります。60にすると30文字までとなります。
「”…”」は省略した際の文字の後ろに付きます。
こちらも好きな文字に変更できます。
「””」にすると文字の後ろには何も付かなくなります。
抜粋文の文字数制限
指定のPHPに配置
<!-- 抜粋文の文字数制限 -->
<?php echo mb_strimwidth(get_the_excerpt(), 0, 100, "..."); ?>
タイトルの時との違いは「get_the_excerpt()」の箇所で他は同じ記述です。
こちらも好きな文字数に変更してください。
カスタムフィールドの文字数制限
指定のPHPに配置
<!-- カスタムフィールドの文字数制限 -->
<?php
$description = get_field('カスタムフィールド');
$description = str_replace(array('<br>', '<br />', "\r\n", "\n", "\r", " ", ' '), '', $description);
$description = mb_strimwidth($description, 0, 70, "...");
echo $description;
?>
プラグイン「Advanced Custom Fields」を使用してカスタムフィールドを配置した際の文字数制限方法です。
「get_field(‘カスタムフィールド’)」の「カスタムフィールド」を設定しているフィールド名に変更してください。
フィールドタイプを「テキストエリア」にしている場合、改行などが入らないよう設定をする必要があったので「str_replace〜」で制御しています。
フィールドタイプが「テキスト」などの場合は必要ないかと思います。
「mb_strimwidth〜」の文字数は好きな値に変更してください。