WooCommerce Membership Cancel in WordPress

725 Views Asked by At

A customer can usually cancel a membership in his dashboard. How can I restrict this (hide the cancel button) for a specific membership?

I found this code for general hide the cancel button, work's so far:

function sv_edit_my_memberships_actions( $actions )
{   
    unset( $actions['cancel'] );
    return $actions}
add_filter( 'wc_memberships_my_account_my_memberships_actions', 'sv_edit_my_memberships_actions' );
}

maybe with this function?

wc_memberships_is_user_active_member( $current_user_id, 'membership-name' )
2

There are 2 best solutions below

3
On

You are almost there. You already have done some syntactical mistakes which @mujeeb specified. Try following code

function sv_edit_my_memberships_actions( $actions )
{   
    $user_id = get_current_user_id();
    if(wc_memberships_is_user_active_member( $user_id, 'silver' )){// Instead of silver you can give your membership type
         unset( $actions['cancel'] );
    }
    return $actions;
}
add_filter( 'wc_memberships_my_account_my_memberships_actions', 'sv_edit_my_memberships_actions' );
0
On
function sv_edit_my_memberships_actions( $actions ) {
    unset( $actions['cancel'] );
    return $actions;
}
add_filter( 'wc_memberships_members_area_my_memberships_actions', 'sv_edit_my_memberships_actions' );