指定文字数で文字を切る便利関数を追加する

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