2012-12-13 46 views
0

我使用Wordpress和WooCommerce設置電子商務網站。我們正在使用wordpress會員賬戶來跟蹤客戶信息,我們需要一種登錄會員的方式只有才能選擇以「信用」方式購買他們的購物車,這意味着無需付款即可下訂單。基本上我所做的就是高枕無憂的「檢查」選項(因爲我們不需要任何其他地方),並將其重命名爲「信用」,因爲它允許我們需要的功能。WooCommerce顯示付款網關登錄客戶只有

但是,我需要一個「信用」(檢查)選項的方式,只有當用戶登錄時才顯示。有沒有什麼辦法可以在用戶未登錄時「解除綁定」這個選項?這似乎是一件容易做到的事情,但我找不到任何關於它的事情。任何幫助表示讚賞。

回答

1

我剛找到解決方案。在class-wc-cheque.php文件中,使用add_filter('woocommerce_payment_gateways', 'add_cheque_gateway');勾選了檢查或「檢查」(瘋狂英式)選項。因此,解決辦法是簡單地將此代碼添加到我的functions.php文件:

if(!is_user_logged_in()){ 
    remove_filter('woocommerce_payment_gateways', 'add_cheque_gateway'); 
} 

希望這有助於!

2

這個問題的原始答案(來自BWDesign)不再適用於WooCommerce(至少從WooCommerce 2.1.7起,可能之前)的變化。現在這樣做(在2.1.7和2.1.8上測試),將它添加到例如你的functions.php文件:

add_filter("woocommerce_available_payment_gateways", "rp_filter_gateways", 9999); 

function rp_filter_gateways($args) { 
if(!is_user_logged_in() && isset($args['cheque'])) { 
    unset($args['cheque']); 
} 
return $args; 
} 
+0

感謝您的更新!如果我勇敢地(閱讀「瘋狂」)足以更新我的WooCommerce版本,我將不得不試一試。 – BWDesign