私はbuddypressでテーマを設定し、私はそこに私のグループのためのティーザーセクションを持ちたいです。それはうまくいきますが、私はグループの説明を短くするのに問題があります...
私はこのように使っています:
<p><a href="<?php bp_group_permalink() ?>"><?php bp_group_name() ?></a></p>
<p><?php bp_group_description_excerpt() ?></p>
非常に長いグループ記述があると、それは私のレイアウトをクラッシュさせます。 (wordpressのように)抜粋を短くすること(関数などで)は可能ですか? 「最大20文字」のようなものですか、それともそのようなものですか?
ありがとう。
そのための通常のAPIラッパー関数を書いて、それをあなたのfunctions.phpテーマに入れるか、または(mu-)プラグインとして提供してください。
/**
* Trim Words Cb fn
* @link Adjusted from http://snipplr.com/view.php?codeview&id=20397
*
* @param string $excerpt Input string
* @param int $count Word count
* @param boolean/string $more Whether to show a "more" or not or a string
* @return string $excerpt
*/
function wpse50198_Word_trim( $excerpt, $limit, $more = FALSE )
{
$output = explode( ' ', $excerpt );
$count = count( $input );
if ( $limit < $count ) )
array_splice( $excerpt, $count, null, $output );
if ( $more )
$output .= $more;
$output = implode( ' ', $output );
return $output;
}
/**
*
* @param bool $count Number of words to show - (default) 20
* @param boolean/string $more Whether to show a "more" or not - (default) ...
* @param bool $echo Print or return the excerpt - (default) TRUE
* @return string $excerpt The reduced excerpt
*/
function short_bp_group_descr_excerpt( $count = 20, $more = '&hellip', $echo = TRUE )
{
$excerpt = bp_get_group_description_excerpt();
$length = str_Word_count( $excerpt );
if ( $count < $length )
$excerpt = wpse50198_trim_words( $excerpt, $count, $more );
if ( $echo )
echo $excerpt;
return $excerpt;
}
さて、あなたのテンプレート内のテンプレートタグのようにそれを単に呼び出してください:short_bp_group_descr_excerpt();
。