bp_nouveau_ajax_button( $output = '', $button = null, $before = '', $after = '', $r = array() )
Output ajax button for action (e.g. request connection with member, join group, leave group, follow member, etc.)
Description
Return
(string)
Source
File: bp-templates/bp-nouveau/includes/functions.php
function bp_nouveau_ajax_button( $output = '', $button = null, $before = '', $after = '', $r = array() ) { if ( empty( $button->component ) ) { return $output; } // Custom data attribute. $r['button_attr']['data-bp-btn-action'] = $button->id; $reset_ids = array( 'member_friendship' => true, 'member_follow' => true, 'group_membership' => true, ); if ( ! empty( $reset_ids[ $button->id ] ) ) { $parse_class = array_map( 'sanitize_html_class', explode( ' ', $r['button_attr']['class'] ) ); if ( false === $parse_class ) { return $output; } $find_id = array_intersect( $parse_class, array( 'pending_friend', 'is_friend', 'not_friends', 'leave-group', 'join-group', 'accept-invite', 'membership-requested', 'request-membership', 'not_following', 'following', ) ); if ( 1 !== count( $find_id ) ) { return $output; } $data_attribute = reset( $find_id ); if ( 'pending_friend' === $data_attribute ) { $data_attribute = str_replace( '_friend', '', $data_attribute ); } elseif ( 'group_membership' === $button->id ) { $data_attribute = str_replace( '-', '_', $data_attribute ); } $r['button_attr']['data-bp-btn-action'] = $data_attribute; } // Re-render the button with our custom data attribute. $output = new BP_Core_HTML_Element( array( 'element' => $r['button_element'], 'attr' => $r['button_attr'], 'inner_html' => ! empty( $r['link_text'] ) ? $r['link_text'] : '' ) ); $output = $output->contents(); // Add span bp-screen-reader-text class return $before . $output . $after; }
Changelog
Version | Description |
---|---|
BuddyPress 3.0.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.