0

can anyone guide me how can I override following function from my plugin. I know how to use add_action but I didn't found add_action for this function in buddypress plugin. Its using do_action and I am not sure how to get it working

function groups_screen_group_request_membership() {
global $bp;

if ( !is_user_logged_in() )
    return false;

$bp = buddypress();

if ( 'private' != $bp->groups->current_group->status )
    return false;

// If the user is already invited, accept invitation
if ( groups_check_user_has_invite( bp_loggedin_user_id(), $bp->groups->current_group->id ) ) {
    if ( groups_accept_invite( bp_loggedin_user_id(), $bp->groups->current_group->id ) )
        bp_core_add_message( __( 'Group invite accepted', 'buddypress' ) );
    else
        bp_core_add_message( __( 'There was an error accepting the group invitation, please try again.', 'buddypress' ), 'error' );
    bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) );
}

// If the user has submitted a request, send it.
if ( isset( $_POST['group-request-send']) ) {

    // Check the nonce
    if ( !check_admin_referer( 'groups_request_membership' ) )
        return false;

    if ( !groups_send_membership_request( bp_loggedin_user_id(), $bp->groups->current_group->id ) ) {
        bp_core_add_message( __( 'There was an error sending your group membership request, please try again.', 'buddypress' ), 'error' );
    } else {
        bp_core_add_message( __( 'Your membership request was sent to the group administrator successfully. You will be notified when the group administrator responds to your request.', 'buddypress' ) );
    }
    bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) );
}

do_action( 'groups_screen_group_request_membership', $bp->groups->current_group->id );

bp_core_load_template( apply_filters( 'groups_template_group_request_membership', 'groups/single/home' ) );

}

1

In WordPress 'do_action' is used to add an action hook in a plugin, which then can be used to hook our own function with plugin.

Check Codex for more details: Hooks API WordPress

To add your own function you will have to do the following:

add_action('groups_screen_group_request_membership', 'your_function_callback');

function your_function_callback($id){

    //here id can be used to get the id of current group
   //write your code here

}

Feel free to ask if you have any doubts.

Not the answer you're looking for? Browse other questions tagged or ask your own question.