bbp_get_forum_class( int $forum_id, $classes = array() )
Return the row class of a forum
Description Description
Parameters Parameters
- $forum_id
-
(Optional) Forum ID
-
(Optional) Extra classes you can pass when calling this function
Return Return
(string) Row class of the forum
Source Source
File: includes/forums/template.php
function bbp_get_forum_class( $forum_id = 0, $classes = array() ) {
$bbp = bbpress();
$forum_id = bbp_get_forum_id( $forum_id );
$parent_id = bbp_get_forum_parent_id( $forum_id );
$author_id = bbp_get_forum_author_id( $forum_id );
$status = bbp_get_forum_status( $forum_id );
$visibility = bbp_get_forum_visibility( $forum_id );
$classes = array_filter( (array) $classes );
$count = isset( $bbp->forum_query->current_post )
? (int) $bbp->forum_query->current_post
: 1;
// Stripes
$even_odd = ( $count % 2 )
? 'even'
: 'odd';
// User is moderator of forum
$forum_moderator = ( bbp_is_user_forum_moderator( $author_id, $forum_id ) === $author_id )
? 'forum-mod'
: '';
// Is forum a non-postable category?
$category = bbp_is_forum_category( $forum_id )
? 'status-category'
: '';
// Forum has children?
$subs = bbp_get_forum_subforum_count( $forum_id )
? 'bbp-has-subforums'
: '';
// Forum has parent?
$parent = ! empty( $parent_id )
? 'bbp-parent-forum-' . $parent_id
: '';
// Get forum classes
$forum_classes = array(
'loop-item-' . $count,
'bbp-forum-status-' . $status,
'bbp-forum-visibility-' . $visibility,
$even_odd,
$forum_moderator,
$category,
$subs,
$parent
);
// Run the topic classes through the post-class filters, which also
// handles the escaping of each individual class.
$post_classes = get_post_class( array_merge( $classes, $forum_classes ), $forum_id );
// Filter
$new_classes = apply_filters( 'bbp_get_forum_class', $post_classes, $forum_id, $classes );
// Return
return 'class="' . implode( ' ', $new_classes ) . '"';
}
Changelog Changelog
| Version | Description |
|---|---|
| 2.0.0 | Introduced. |