BBP_Stats_Widget
Forums Stats Widget
Description
Adds a widget which displays the forum statistics
Source
File: bp-forums/common/widgets.php
class BBP_Stats_Widget extends WP_Widget { /** * Forums Stats Widget * * Registers the stats widget * * @since bbPress (r4509) * * @uses apply_filters() Calls 'bbp_stats_widget_options' with the * widget options */ public function __construct() { $widget_ops = apply_filters( 'bbp_stats_widget_options', array( 'classname' => 'widget_display_stats', 'description' => __( 'Some statistics from your forum.', 'buddyboss' ) ) ); parent::__construct( false, __( '(BB) Forum Statistics', 'buddyboss' ), $widget_ops ); } /** * Register the widget * * @since bbPress (r4509) * * @uses register_widget() */ public static function register_widget() { register_widget( 'BBP_Stats_Widget' ); } /** * Displays the output, the statistics * * @since bbPress (r4509) * * @param mixed $args Arguments * @param array $instance Instance * * @uses apply_filters() Calls 'bbp_stats_widget_title' with the title * @uses bbp_get_template_part() To get the content-forum-statistics template */ public function widget( $args = array(), $instance = array() ) { // Get widget settings $settings = $this->parse_settings( $instance ); // Typical WordPress filter $settings['title'] = apply_filters( 'widget_title', $settings['title'], $instance, $this->id_base ); // Forums widget title filter $settings['title'] = apply_filters( 'bbp_stats_widget_title', $settings['title'], $instance, $this->id_base ); echo $args['before_widget']; if ( !empty( $settings['title'] ) ) { echo $args['before_title'] . $settings['title'] . $args['after_title']; } bbp_get_template_part( 'content', 'statistics' ); echo $args['after_widget']; } /** * Update the stats widget options * * @since bbPress (r4509) * * @param array $new_instance The new instance options * @param array $old_instance The old instance options * * @return array */ public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); return $instance; } /** * Output the stats widget options form * * @since bbPress (r4509) * * @param $instance * * @return string|void */ public function form( $instance ) { // Get widget settings $settings = $this->parse_settings( $instance ); ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'buddyboss' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $settings['title'] ); ?>"/> </label> </p> <?php } /** * Merge the widget settings into defaults array. * * @since bbPress (r4802) * * @param $instance Instance * @uses bbp_parse_args() To merge widget settings into defaults */ public function parse_settings( $instance = array() ) { return bbp_parse_args( $instance, array( 'title' => __( 'Forum Statistics', 'buddyboss' ) ), 'stats_widget_settings' ); } }
Changelog
Version | Description |
---|---|
bbPress (r4509) | Introduced. |
Methods
- __construct — Forums Stats Widget
- form — Output the stats widget options form
- parse_settings — Merge the widget settings into defaults array.
- register_widget — Register the widget
- update — Update the stats widget options
- widget — Displays the output, the statistics
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.