wordpressの投稿機能に標準で搭載されている「抜粋」の表示をphpだけでカスタムする。
WordPressの「抜粋」を表示するときは、組み込み関数である get_the_excerpt() を利用する。
でも、get_the_excerpt()には文字数を制限するオプションがない。
まあ、ないことはないんだけど、境界値より多かろうと少なからろうと文字を付与してしまう。
functions.phpで設定することもできるけど、このファイルは最低限の記述に抑えておきたい。
なので、記事のループの中だけで個別に抜粋の文字数を指定したい。
// 抜粋は50文字以上あると省略される
$text = get_the_excerpt();
$limit = 50;
if(mb_strlen($text) > $limit) {
$text = mb_substr($text, 0, $limit, "utf-8").'...';
}
echo $text;
これで、50文字を境界値として「抜粋」を表示できます。
なぜかwordpressの組み込み関数 get_the_excerpt() にいい感じのオプションがなかったので自作しました。
どれもphpの標準関数だと思いますので、どんな環境でも動作する(はず!)
この記事を書いた人
基本バックエンドなエンジニアですが、デザインとかも好きだったり。 休日はどこかのカフェで何かを勉強してます。 さあ、いろんな話をしましょう! 16パーソナリティは指揮官 (ENTJ-A)です!