bbp_get_single_forum_description( mixed $args = '' )
Return a fancy description of the current forum, including total topics, total replies, and last activity.
Description
Parameters
- $args
-
(Optional) This function supports these arguments: - forum_id: Forum id - before: Before the text - after: After the text - size: Size of the avatar
Default value: ''
Return
(string) Filtered forum description
Source
File: bp-core/deprecated/buddyboss/1.0.php
function bbp_get_single_forum_description( $args = '' ) { // Parse arguments against default values $r = bbp_parse_args( $args, array( 'forum_id' => 0, 'before' => '<div class="bp-feedback info"><span class="bp-icon" aria-hidden="true"></span><p class="bbp-forum-description">', 'after' => '</p></div>', 'size' => 14, 'feed' => true ), 'get_single_forum_description' ); // Validate forum_id $forum_id = bbp_get_forum_id( $r['forum_id'] ); // Unhook the 'view all' query var adder remove_filter( 'bbp_get_forum_permalink', 'bbp_add_view_all' ); // Get some forum data $tc_int = bbp_get_forum_topic_count( $forum_id, false ); $rc_int = bbp_get_forum_reply_count( $forum_id, false ); $topic_count = bbp_get_forum_topic_count( $forum_id ); $reply_count = bbp_get_forum_reply_count( $forum_id ); $last_active = bbp_get_forum_last_active_id( $forum_id ); // Has replies if ( !empty( $reply_count ) ) { $reply_text = sprintf( _n( '%s reply', '%s replies', $rc_int, 'buddyboss' ), $reply_count ); } // Forum has active data if ( !empty( $last_active ) ) { $topic_text = bbp_get_forum_topics_link( $forum_id ); $time_since = bbp_get_forum_freshness_link( $forum_id ); $last_updated_by = bbp_get_author_link( array( 'post_id' => $last_active, 'size' => $r['size'] ) ); // Forum has no last active data } else { $topic_text = sprintf( _n( '%s discussion', '%s discussions', $tc_int, 'buddyboss' ), $topic_count ); } // Forum has active data if ( !empty( $last_active ) ) { if ( !empty( $reply_count ) ) { if ( bbp_is_forum_category( $forum_id ) ) { $retstr = sprintf( esc_html__( 'This category contains %1$s and %2$s, and was last updated by %3$s %4$s.', 'buddyboss' ), $topic_text, $reply_text, $last_updated_by, $time_since ); } else { $retstr = sprintf( esc_html__( 'This forum contains %1$s and %2$s, and was last updated by %3$s %4$s.', 'buddyboss' ), $topic_text, $reply_text, $last_updated_by, $time_since ); } } else { if ( bbp_is_forum_category( $forum_id ) ) { $retstr = sprintf( esc_html__( 'This category contains %1$s, and was last updated by %2$s %3$s.', 'buddyboss' ), $topic_text, $last_updated_by, $time_since ); } else { $retstr = sprintf( esc_html__( 'This forum contains %1$s, and was last updated by %2$s %3$s.', 'buddyboss' ), $topic_text, $last_updated_by, $time_since ); } } // Forum has no last active data } else { if ( !empty( $reply_count ) ) { if ( bbp_is_forum_category( $forum_id ) ) { $retstr = sprintf( esc_html__( 'This category contains %1$s and %2$s.', 'buddyboss' ), $topic_text, $reply_text ); } else { $retstr = sprintf( esc_html__( 'This forum contains %1$s and %2$s.', 'buddyboss' ), $topic_text, $reply_text ); } } else { if ( !empty( $topic_count ) ) { if ( bbp_is_forum_category( $forum_id ) ) { $retstr = sprintf( esc_html__( 'This category contains %1$s.', 'buddyboss' ), $topic_text ); } else { $retstr = sprintf( esc_html__( 'This forum contains %1$s.', 'buddyboss' ), $topic_text ); } } else { $retstr = esc_html__( 'This forum is empty.', 'buddyboss' ); } } } // Add feeds //$feed_links = ( !empty( $r['feed'] ) ) ? bbp_get_forum_topics_feed_link ( $forum_id ) . bbp_get_forum_replies_feed_link( $forum_id ) : ''; // Add the 'view all' filter back add_filter( 'bbp_get_forum_permalink', 'bbp_add_view_all' ); // Combine the elements together $retstr = $r['before'] . $retstr . $r['after']; // Return filtered result return apply_filters( 'bbp_get_single_forum_description', $retstr, $r ); }
Changelog
Version | Description |
---|---|
bbPress (r2860) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.