function widget($args, $instance) { global $bp; //only show widget to logged in users if (!is_user_logged_in()) { return; } //get the groups the user is part of $results = groups_get_user_groups(get_current_user_id()); //don't show widget if user doesn't have any groups if ($results['total'] == 0) { return; } extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? sprintf(__('Recent %s from your Groups', 'bp-group-documents'), $this->bp_group_documents_name) : sanitize_text_field($instance['title'])); echo $before_widget . $before_title . $title . $after_title; do_action('bp_group_documents_usergroups_widget_before_html'); $document_list = BP_Group_Documents::get_list_for_usergroups_widget(absint($instance['num_items']), (bool) $instance['featured']); if ($document_list && count($document_list) >= 1) { echo '<ul id="bp-group-documents-usergroups" class="bp-group-documents-list">'; foreach ($document_list as $item) { $document = new BP_Group_Documents($item['id']); $group = new BP_Groups_Group($document->group_id); echo '<li>'; if (get_option('bp_group_documents_display_icons')) { $document->icon(); } ?> <a class="bp-group-documents-title" id="group-document-link-<?php echo $document->id; ?> " href="<?php $document->url(); ?> " target="_blank"> <?php echo $document->name; ?> </a> <?php echo sprintf(__('posted in %s', 'bp-group-documents'), '<a href="' . bp_get_group_permalink($group) . '">' . esc_attr($group->name) . '</a>'); echo '</li>'; } echo '</ul>'; } else { echo '<div class="widget-error">' . sprintf(__('There are no %s to display.', 'bp-group-documents'), $this->bp_group_documents_name) . '</div></p>'; } echo $after_widget; }