Changeset 3931
- Timestamp:
- 09/02/2016 08:59:31 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-profiles-wp-activity-notifier/wporg-profiles-wp-activity-notifier.php
r3920 r3931 307 307 'title' => bbp_get_reply_topic_title( $reply_id ) , 308 308 'url' => bbp_get_reply_url( $reply_id ), 309 'message' => bbp_get_reply_excerpt( $reply_id, 55 ),309 'message' => $this->get_reply_excerpt( $reply_id, 15 ), 310 310 'site' => get_bloginfo( 'name' ), 311 311 'site_url' => site_url(), … … 335 335 } 336 336 337 /** 338 * Returns the excerpt of the reply. 339 * 340 * This is similar to `bbp_get_reply_excerpt()` except: 341 * 342 * - Excerpt length is by number of words and not number of characters. 343 * - Omits inclusion of any blockquoted text. 344 * 345 * @param int $reply_id Optional. The reply id. 346 * @param int $words Optional. The number of words for the excerpt. Default 15. 347 * @return string 348 */ 349 public function get_reply_excerpt( $reply_id = 0, $words = 15 ) { 350 $reply_id = bbp_get_reply_id( $reply_id ); 351 $excerpt = get_post_field( 'post_excerpt', $reply_id ); 352 353 if ( ! $excerpt ) { 354 $excerpt = bbp_get_reply_content( $reply_id ); 355 } 356 357 $excerpt = $this->trim_text( $excerpt, $words, 'words' ); 358 return apply_filters( 'bbp_get_reply_excerpt', $excerpt, $reply_id, $words ); 359 } 360 361 /** 362 * Trims text by words or characters. 363 * 364 * @param string $text The text to trim. 365 * @param int $length Optional. The number of words or characters to try down to. Default 15. 366 * @param string $trim_style Optional. The manner in which the text should be trimmed. Either 'chars' or 'words'. Default 'words'. 367 * @return string 368 */ 369 public function trim_text( $text, $length = 15, $trim_style = 'words' ) { 370 $length = (int) $length; 371 $trim_style = in_array( $trim_style, array( 'chars', 'words' ) ) ? $trim_style : 'words'; 372 373 // Remove blockquoted text since the text isn't original. 374 $text = preg_replace( '/<blockquote>.+<\/blockquote>/', '', $text ); 375 376 // Strip tags and surrounding whitespace. 377 $text = trim ( strip_tags( $text ) ); 378 379 // If trimming by chars, behave like a more multibyte-aware 380 // bbp_get_reply_excerp(). 381 if ( 'chars' === $trim_style ) { 382 // Multibyte support 383 if ( function_exists( 'mb_strlen' ) ) { 384 $text_length = mb_strlen( $text ); 385 } else { 386 $text_length = strlen( $text ); 387 } 388 389 if ( $length && ( $text_length > $length ) ) { 390 if ( function_exists( 'mb_strlen' ) ) { 391 $text = mb_substr( $text, 0, $length - 1 ); 392 } else { 393 $text = substr( $text, 0, $length - 1 ); 394 } 395 $text .= '…'; 396 } 397 } 398 // Else trim by words. 399 else { 400 $text = wp_trim_words( $text, $length ); 401 } 402 403 return $text; 404 } 405 337 406 } 338 407
Note: See TracChangeset
for help on using the changeset viewer.