BP_Core_Network_Posts_Widget::widget( array $args, array $instance )
Display the Members 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-core/classes/class-bp-core-network-posts-widget.php
public function widget( $args, $instance ) {
// Get widget settings.
$settings = $this->parse_settings( $instance );
/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
$title = apply_filters( 'widget_title', $settings['title'], $instance, $this->id_base );
$number = (!empty( $instance[ 'number' ] ) ) ? absint( $instance[ 'number' ] ) : 5;
$show_date = isset( $instance[ 'show_date' ] ) ? $instance[ 'show_date' ] : false;
$show_image = isset( $instance[ 'show_image' ] ) ? $instance[ 'show_image' ] : true;
if ( ! function_exists( 'get_sites' ) ){
return;
}
$blogs = get_sites(array(
'fields' => 'ids',
'orderby' => 'last_updated',
'order' => 'DESC',
));
$args['before_widget'];
if ( $title ) {
echo $args['before_title'] . $title . $args['after_title'];
}
if( $blogs ) {
?> <ul id="network-list" class="item-list" aria-live="polite" aria-relevant="all" aria-atomic="true"> <?php
foreach ( $blogs as $blog_key ) {
switch_to_blog($blog_key);
/**
* Filters the arguments for the Recent Posts widget.
*
* @since 3.4.0
*
* @see WP_Query::get_posts()
*
* @param array $args An array of arguments used to retrieve the recent posts.
*/
$r = new WP_Query( apply_filters( 'widget_network_posts_args', array(
'posts_per_page' => $number,
'no_found_rows' => true,
'post_status' => 'publish',
'ignore_sticky_posts' => true
) ) );
if ( $r->have_posts() ) { ?>
<?php while ( $r->have_posts() ) : $r->the_post(); ?>
<li class="vcard">
<div class="item-avatar">
<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'user_nicename' ) ); ?>">
<?php echo get_avatar( get_the_author_meta( 'ID' ), 80 ); ?>
</a>
</div>
<div class="item">
<div class="item-title">
<a class="post-author" href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'user_nicename' ) ); ?>"><?php the_author(); ?></a>
<span class="netowrk-post-type">created a post:</span>
</div>
<div class="item-data">
<span class="netowrk-post-content">
<a href="<?php the_permalink(); ?>" class="bb-title"><?php echo wp_trim_words( the_title( '', '', false ), 6, '…' ); ?></a>
</span>
<?php if ( $show_image && has_post_thumbnail() ) { ?>
<div class="data-photo"><a href="<?php the_permalink(); ?>"
title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'buddyboss' ), the_title_attribute( 'echo=0' ) ) ); ?>"
class="entry-media entry-img">
<?php the_post_thumbnail(); ?>
</a>
</div>
<?php } ?>
<?php if ( $show_date ) : ?>
<br/><span class="netowrk-post-activity"><?php echo get_the_date(); ?></span>
<?php endif; ?>
</div>
</div>
</li>
<?php endwhile; ?>
<?php
// Reset the global $the_post as this query will have stomped on it
wp_reset_postdata();
}
// Back the current blog
restore_current_blog();
}
?> </ul><?php
}
echo $args['after_widget'];
}
Changelog
| Version | Description |
|---|---|
| 1.0.3 | 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.