2017-05-24 70 views
1

客戶通常可以取消其儀表板中的會員資格。我如何限制這個(隱藏取消按鈕)爲特定的會員?WooCommerce會員取消WordPress

我發現一般隱藏該代碼取消按鈕,工作的迄今:

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'); 
} 

也許有這個功能嗎?

wc_memberships_is_user_active_member($current_user_id, 'membership-name') 

回答

-1
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'); 
0

你幾乎沒有。你已經完成了@mujeeb指定的一些語法錯誤。請嘗試以下代碼

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

對於一個會員來說,這很有效!如果用戶有多個成員資格,我只想限制一個特定的成員! –

+0

然後創建一個成員資格數組,取消按鈕將可用....通過該數組循環,並檢查wc_memberships_is_user_active_member($ user_id,'your_membership')...如果它變得至少真正一次....不要取消設置否則取消設置動作 – Alice

+0

我認爲問題在於sv_edit_my_memberships_actions函數本身會返回儀表板中完整活動成員列表的可能操作。所以如果一個會員資格觸發未設置,那麼對於所有其他會員列表項目也不會設置。 –