buddypress: como faço para reduzir o trecho da descrição do grupo?

Eu configurei um tema em buddypress e eu quero ter uma seção de teaser para meus grupos lá. Funciona bem, mas tenho um problema para encurtar a descrição do grupo …

Eu estou usando isso assim:

<a href="https://wordpress.stackexchange.com//questions/50198/buddypress-how-do-i-make-the-group-description-excerpt-shorter/">

Se houver uma descrição muito longa do grupo, ele falha no meu layout. É possível (como no wordpress) tornar o trecho mais curto (com uma function ou algo assim)? Como “máximo de 20 letras”, ou algo assim?

Obrigado.

Solutions Collecting From Web of "buddypress: como faço para reduzir o trecho da descrição do grupo?"

API personalizada

Escreva uma function de wrapper de API normal para isso e coloque-o em seu tema functions.php ou ofereça-o como (mu-) plugin.

Trim Words

 /** * 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; } 

A Etiqueta de Modelo

 /** * * @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; } 

Uso

Agora, basta chamá-lo como qualquer tag de modelo dentro do seu modelo: short_bp_group_descr_excerpt(); .