BBP_Forums_Widget::widget( array $args, array $instance )
Displays the output, the forum list
Description Description
Parameters Parameters
- $args
-
(Required) Arguments
- $instance
-
(Required) Instance
Source Source
File: includes/common/widgets.php
public function widget( $args, $instance ) { // Get widget settings $settings = $this->parse_settings( $instance ); // Typical WordPress filter $settings['title'] = apply_filters( 'widget_title', $settings['title'], $instance, $this->id_base ); // bbPress filter $settings['title'] = apply_filters( 'bbp_forum_widget_title', $settings['title'], $instance, $this->id_base ); // Note: private and hidden forums will be excluded via the // bbp_pre_get_posts_normalize_forum_visibility action and function. $widget_query = new WP_Query( array( // What and how 'post_type' => bbp_get_forum_post_type(), 'post_status' => bbp_get_public_status_id(), 'post_parent' => $settings['parent_forum'], 'posts_per_page' => (int) get_option( '_bbp_forums_per_page', 50 ), // Order 'orderby' => 'menu_order title', 'order' => 'ASC', // Performance 'ignore_sticky_posts' => true, 'no_found_rows' => true, 'update_post_term_cache' => false, 'update_post_meta_cache' => false ) ); // Bail if no posts if ( ! $widget_query->have_posts() ) { return; } echo $args['before_widget']; if ( ! empty( $settings['title'] ) ) { echo $args['before_title'] . $settings['title'] . $args['after_title']; } ?> <ul class="bbp-forums-widget"> <?php while ( $widget_query->have_posts() ) : $widget_query->the_post(); ?> <li <?php echo ( bbp_get_forum_id() === $widget_query->post->ID ? ' class="bbp-forum-widget-current-forum"' : '' ); ?>> <a class="bbp-forum-title" href="<?php bbp_forum_permalink( $widget_query->post->ID ); ?>"> <?php bbp_forum_title( $widget_query->post->ID ); ?> </a> </li> <?php endwhile; ?> </ul> <?php echo $args['after_widget']; // Reset the $post global wp_reset_postdata(); }
Changelog Changelog
Version | Description |
---|---|
2.0.0 | Introduced. |