指定文字数で文字を切る便利関数を追加する
今wordpressのテーマのカスタマイズ(オリジナルテーマをフルスクラッチで作る)をやっていて、自分用のメモ。
smartyやTTなどのテンプレートエンジンではよくある指定文字数で文字を切って最後に「...」を付けるtruncateみたいな便利関数です。
smartyのそれを、ほぼそのまま移植。
追記場所
/wp-content/themes/テーマ名/function.php
上記のファイルに以下を追加
function truncate($str, $limit = 80, $etc = '...') { if($limit == 0) {return '';} $str = strip_tags($str); if(mb_strlen($str) > $limit) { return mb_substr($str, 0, $limit).$etc; } else { return $str; } }
テンプレート側からの呼び出し
<?php echo truncate(get_the_excerpt(), 100); ?>
mb_strlen, mb_substr を使っているので日本語も文字化け無く通るはずです。
参考にさせてもらったurl: http://c-brains.jp/blog/wsg/07/06/14-160910.php