WooCommerce中结帐和订单付款的不同付款方式

时间:2019-05-22 11:29:48

标签: php wordpress woocommerce endpoint payment-method

目标是在“结帐”页面上仅具有重命名版本的“支票”(“注册订单”),一旦管理员将其放置为批准状态,信用卡网关便会在我的帐户中可用。

使用我认为可行的代码会删除所有网关吗?

代码如下:

add_filter( 'woocommerce_available_payment_gateways', 'switch_gateways_checkout_myaccount');
function switch_gateways_checkout_myaccount($available_gateways) {
  global $woocommerce;

  $endpoint = $woocommerce->query->get_current_endpoint();

  if ($endpoint == 'order-pay') {
    unset($available_gateways['cheque']);
  } else {
    unset($available_gateways['stripe']);
  }

  return $available_gateways;
}

1 个答案:

答案 0 :(得分:0)

使用条件标签is_wc_endpoint_url(),例如:

add_filter( 'woocommerce_available_payment_gateways', 'switch_available_payment_gateways_based_on endpoint', 90, 1 );
function switch_gateways_checkout_myaccount( $available_gateways ) {

    if ( is_wc_endpoint_url('order-pay') ) {
        unset($available_gateways['cheque']);
    } else {
        unset($available_gateways['stripe']);
    }
    return $available_gateways;
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。