Php 隐藏在Wordpress/WooCommerce中继续签出
使用Wordpress和WooCommerce,我需要帮助添加两个用户角色。我在一个角色中使用了它,但也需要将它应用到另一个角色中 下面我使用的是“批发”用户角色,但此规则还需要应用于“美国批发”的另一个用户角色 下面是我在functions.php中的代码: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(
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 ) ){