2015-04-16 50 views
0

我希望登录的用户能够使用“支票”付款选项。仅限登录用户的WooCommerce支付网关

我发现下面相关主题:WooCommerce Show Payment Gateways for Logged In Customers Only但是,将在functions.php中下面的代码不再适用于Woocommerce版本2.3.7:

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_available_payment_gatewaysis still a valid hook。下面的代码已经过最新版本的WooCommerce测试:

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

是的,我试图添加到wordpress主题的functions.php,但它没有奏效。 – Daniish

+0

顺便说一句,add_filter语句需要在函数调用之前 - 最初离线敲我的网站,直到我意识到! – Daniish

+0

@OliverIshmael,问题出在'add_filter()'上。我更新了我的代码。这适用于最新版本的WC。 – rnevius