1

我正在使用 Wordpress 和 WooCommerce 建立一个电子商务网站。我们正在使用 wordpress 会员帐户来跟踪客户信息,我们需要一种方法让登录的会员只能选择“赊账”购买他们的购物车,这意味着下订单不需要付款。基本上我所做的是劫持“检查”选项(因为我们在其他任何地方都不需要它)并将其重命名为“信用”,因为它允许我们需要的功能。

但是,我需要一种方法让“信用”(检查)选项仅在用户登录时显示。如果用户未登录,有什么方法可以“取消挂钩”这个选项?这似乎很容易做到,但我找不到任何关于它的东西。任何帮助表示赞赏。

4

2 回答 2

2

由于 WooCommerce 的变化(至少从 WooCommerce 2.1.7 开始,可能之前),这个问题的原始答案(来自 BWDesign)不再有效。现在可以解决问题(在 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;
}
于 2014-05-12T10:07:41.253 回答
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' );
 }

希望这可以帮助!

于 2012-12-13T19:45:09.820 回答