wordpress 从Woocommerce负费用显示金额中删除减号

ubof19bj  于 2022-11-22  发布在  WordPress
关注(0)|答案(1)|浏览(100)

我正在开发一个预订系统,其中客户只想收取50美元的存款,并单独协商剩余金额。为了实现这一点,我使用了以下代码将总价更新为50美元,并显示剩余价格。

function prefix_add_discount_line( $cart ) {
  $deposit = 50;    
  $remaining = $cart->subtotal - 50;
  $cart->add_fee( __( 'Amount Remaining', 'remaining' ) , -$remaining); 
}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );

在订单电子邮件中,剩余金额显示为减号(-)。请让我知道如何删除woocommerce订单电子邮件中的减号

9gm1akwq

9gm1akwq1#

要使所有负费用金额在WooCommerce订单总计行上显示为正金额,请使用以下方法:

add_filter( 'woocommerce_get_order_item_totals', 'custom_order_total_line_html', 10, 3 );
function custom_order_total_line_html( $total_rows, $order, $tax_display ){
    // Loop through WooCommerce orders total rows
    foreach ( $total_rows as $key_row => $row_values ) {
        // Target only "fee" rows
        if ( strpos($key_row, 'fee_') !== false ) {
            $total_rows[$key_row]['value'] = str_replace('-', '', $row_values['value']);
        }
    }
    return $total_rows;
}

现在,要使其仅用于WooCommerce电子邮件通知,请使用以下内容:

add_filter( 'woocommerce_get_order_item_totals', 'custom_order_total_line_html', 10, 3 );
function custom_order_total_line_html( $total_rows, $order, $tax_display ){
    // Only on emails
    if ( ! is_wc_endpoint_url() ) {
        // Loop through WooCommerce orders total rows
        foreach ( $total_rows as $key_row => $row_values ) {
            // Target only "fee" rows
            if ( strpos($key_row, 'fee_') !== false ) {
                $total_rows[$key_row]['value'] = str_replace('-', '', $row_values['value']);
            }
        }
    }
    return $total_rows;
}

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

相关问题