BP_Activity_List_Table::column_comment( array $item )
Content column, and “quick admin” rollover actions.
Description
Called "comment" in the CSS so we can re-use some WP core CSS.
See also
Parameters
- $item
-
(Required) A singular item (one full row).
Source
File: bp-activity/classes/class-bp-activity-list-table.php
function column_comment( $item ) { // Determine what type of item (row) we're dealing with. if ( $item['is_spam'] ) $item_status = 'spam'; else $item_status = 'all'; // Preorder items: Reply | Edit | Spam | Delete Permanently. $actions = array( 'reply' => '', 'edit' => '', 'spam' => '', 'unspam' => '', 'delete' => '', ); // Build actions URLs. $base_url = bp_get_admin_url( 'admin.php?page=bp-activity&aid=' . $item['id'] ); $spam_nonce = esc_html( '_wpnonce=' . wp_create_nonce( 'spam-activity_' . $item['id'] ) ); $delete_url = $base_url . "&action=delete&$spam_nonce"; $edit_url = $base_url . '&action=edit'; $ham_url = $base_url . "&action=ham&$spam_nonce"; $spam_url = $base_url . "&action=spam&$spam_nonce"; // Rollover actions. // Reply - JavaScript only; implemented by AJAX. if ( 'spam' != $item_status ) { if ( $this->can_comment( $item ) ) { $actions['reply'] = sprintf( '<a href="#" class="reply hide-if-no-js">%s</a>', __( 'Reply', 'buddyboss' ) ); } else { $actions['reply'] = sprintf( '<span class="form-input-tip">%s</span>', __( 'Replies disabled', 'buddyboss' ) ); } // Edit. $actions['edit'] = sprintf( '<a href="%s">%s</a>', $edit_url, __( 'Edit', 'buddyboss' ) ); } // Spam/unspam. if ( 'spam' == $item_status ) $actions['unspam'] = sprintf( '<a href="%s">%s</a>', $ham_url, __( 'Not Spam', 'buddyboss' ) ); else $actions['spam'] = sprintf( '<a href="%s">%s</a>', $spam_url, __( 'Spam', 'buddyboss' ) ); // Delete. $actions['delete'] = sprintf( '<a href="%s" onclick="%s">%s</a>', $delete_url, "javascript:return confirm('" . esc_js( __( 'Are you sure?', 'buddyboss' ) ) . "'); ", __( 'Delete Permanently', 'buddyboss' ) ); // Start timestamp. echo '<div class="submitted-on">'; /** * Filters available actions for plugins to alter. * * @since BuddyPress 1.6.0 * * @param array $actions Array of available actions user could use. * @param array $item Current item being added to page. */ $actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item ); printf( /* translators: %s: activity date and time */ __( 'Submitted on %s', 'buddyboss' ), sprintf( '<a href="%1$s">%2$s</a>', bp_activity_get_permalink( $item['id'] ), sprintf( /* translators: 1: activity date, 2: activity time */ __( '%1$s at %2$s', 'buddyboss' ), date_i18n( bp_get_option( 'date_format' ), strtotime( $item['date_recorded'] ) ), get_date_from_gmt( $item['date_recorded'], bp_get_option( 'time_format' ) ) ) ) ); // End timestamp. echo '</div>'; // Get activity content - if not set, use the action. if ( ! empty( $item['content'] ) ) { $activity = new BP_Activity_Activity( $item['id'] ); /** This filter is documented in bp-activity/bp-activity-template.php */ $content = apply_filters_ref_array( 'bp_get_activity_content_body', array( $item['content'], &$activity ) ); } else { /** * Filters current activity item action. * * @since BuddyPress 1.2.0 * * @var array $item Array index holding current activity item action. */ $content = apply_filters_ref_array( 'bp_get_activity_action', array( $item['action'] ) ); } /** * Filter here to add extra output to the activity content into the Administration. * * @since BuddyPress 2.4.0 * * @param string $content The activity content. * @param array $item The activity object converted into an array. */ echo apply_filters( 'bp_activity_admin_comment_content', $content, $item ) . ' ' . $this->row_actions( $actions ); }
Changelog
Version | Description |
---|---|
BuddyPress 1.6.0 | 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.