BP_Blogs_Recent_Posts_Widget::widget( array $args, array $instance )
Display the networkwide posts widget.
Description
See also
- WP_Widget::widget(): for description of parameters.
Parameters
- $args
-
(Required) Widget arguments.
- $instance
-
(Required) Widget settings, as saved by the user.
Source
File: bp-blogs/classes/class-bp-blogs-recent-posts-widget.php
public function widget( $args, $instance ) {
global $activities_template;
$title = ! empty( $instance['title'] )
? esc_html( $instance['title'] )
: __( 'Recent Networkwide Posts', 'buddyboss' );
if ( ! empty( $instance['link_title'] ) ) {
$title = '<a href="' . bp_get_blogs_directory_permalink() . '">' . esc_html( $title ) . '</a>';
}
/**
* Filters the Blogs Recent Posts widget title.
*
* @since BuddyPress 2.2.0
* @since BuddyPress 2.3.0 Added 'instance' and 'id_base' to arguments passed to filter.
*
* @param string $title The widget title.
* @param array $instance The settings for the particular instance of the widget.
* @param string $id_base Root ID for all widgets of this type.
*/
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
echo $args['before_widget'];
echo $args['before_title'] . $title . $args['after_title'];
if ( empty( $instance['max_posts'] ) || empty( $instance['max_posts'] ) ) {
$instance['max_posts'] = 10;
}
$after_widget = $args['after_widget'];
// Override some of the contextually set parameters for bp_has_activities().
$args = array(
'action' => 'new_blog_post',
'max' => $instance['max_posts'],
'per_page' => $instance['max_posts'],
'user_id' => 0,
'scope' => false,
'object' => false,
'primary_id' => false
);
// Back up global.
$old_activities_template = $activities_template;
?>
<?php if ( bp_has_activities( $args ) ) : ?>
<ul id="blog-post-list" class="activity-list item-list">
<?php while ( bp_activities() ) : bp_the_activity(); ?>
<li>
<div class="activity-content" style="margin: 0">
<div class="activity-header"><?php bp_activity_action(); ?></div>
<?php if ( bp_get_activity_content_body() ) : ?>
<div class="activity-inner"><?php bp_activity_content_body(); ?></div>
<?php endif; ?>
</div>
</li>
<?php endwhile; ?>
</ul>
<?php else : ?>
<div id="message" class="info">
<p><?php _e( 'Sorry, there were no posts found. Why not write one?', 'buddyboss' ); ?></p>
</div>
<?php endif; ?>
<?php echo $after_widget;
// Restore the global.
$activities_template = $old_activities_template;
}
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.