Php 隐藏在Wordpress/WooCommerce中继续签出

Php 隐藏在Wordpress/WooCommerce中继续签出,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,使用Wordpress和WooCommerce,我需要帮助添加两个用户角色。我在一个角色中使用了它,但也需要将它应用到另一个角色中 下面我使用的是“批发”用户角色,但此规则还需要应用于“美国批发”的另一个用户角色 下面是我在functions.php中的代码: add_action( 'woocommerce_checkout_process', 'wdm_wu_minimum_order_amount' ); function wdm_wu_minimum_order_amount(

使用Wordpress和WooCommerce,我需要帮助添加两个用户角色。我在一个角色中使用了它,但也需要将它应用到另一个角色中

下面我使用的是“批发”用户角色,但此规则还需要应用于“美国批发”的另一个用户角色

下面是我在functions.php中的代码:

    add_action( 'woocommerce_checkout_process', 'wdm_wu_minimum_order_amount' );

function wdm_wu_minimum_order_amount() {

    $current_screen_user = wp_get_current_user();
    if( in_array( 'wholesale', $current_screen_user->roles ) ) {

      $minimum = 150;

    if ( WC()->cart->subtotal < $minimum ) {
       if( is_cart() ) {
           wc_print_notice(
               sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,

                   wc_price( $minimum ),
                   wc_price( WC()->cart->subtotal )
               ), 'error'
           );

       } else {
           wc_add_notice(
               sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,

                   wc_price( $minimum ),
                   wc_price( WC()->cart->subtotal )

               ), 'error'
           );
       } } } }
add_action('woocommerce_checkout_process'、'wdm_wu_最小订单金额');
函数wdm_wu_最小订单金额(){
$current_screen_user=wp_get_current_user();
if(在数组(‘批发’,$current\u screen\u user->roles)中){
最低$150;
如果(WC()->购物车->小计<最小值){
if(is_cart()){
wc_打印通知(
sprintf('您必须有至少%s的订单才能下订单,您当前的订单总数为%s',
wc_价格(最低),
wc_价格(wc()->购物车->小计)
)“错误”
);
}否则{
wc_添加_通知(
sprintf('您必须有至少%s的订单才能下订单,您当前的订单总数为%s',
wc_价格(最低),
wc_价格(wc()->购物车->小计)
)“错误”
);
} } } }
以及我在woocommerce cart-totals.php中的覆盖:

<?php

   $current_screen_user = wp_get_current_user();

    if( in_array( 'wholesale', $current_screen_user->roles ) ) {

      $minimum = 150; // Set the minimum amt.
      $cart_amt = WC()->cart->subtotal; // cart sub_total, this is actual total excluding discounts and shipping.

                if ( $cart_amt < $minimum ) {
          if( is_cart() ) {
        //Added notices for cart page.
              wc_print_notice(
                  sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
                      wc_price( $minimum ),
                      wc_price( $cart_amt )
                  ), 'error'
              );
          } else {
        //Added notice msg for checkout page.

              wc_add_notice(
                  sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
                      wc_price( $minimum ),
                      wc_price( $cart_amt)
                  ), 'error'
              );
          }
      } else {
          do_action( 'woocommerce_proceed_to_checkout' );
      }
    } else {
      do_action( 'woocommerce_proceed_to_checkout' );
    }
    ?>

既然您只需要检查两个角色,为什么不替换以下行:

if( in_array( 'wholesale', $current_screen_user->roles ) ) {

这样,如果当前用户将
批发
us\u批发
作为用户角色,则当前(可能正在工作?)功能将运行

if( in_array( 'wholesale', $current_screen_user->roles ) || in_array( 'us_wholesale', $current_screen_user->roles ) ){