购物车和结帐页面上的自定义运输部分未显示在woocommerce电子邮件模板中

时间:2017-02-25 10:10:16

标签: php wordpress woocommerce

我这里有一个代码,根据每件产品的运费添加“运费总额

function action_woocommerce_after_shipping_rate( $method, $index ) { 
    global $woocommerce;

    $sub_ed_total = preg_replace('/&.*?;/', '', WC()->cart->get_cart_subtotal());
    $ed_total = preg_replace('/&.*?;/', '', WC()->cart->get_cart_total());
    $str = preg_replace('/[^0-9.]+/', '', $sub_ed_total);
    $str2 = preg_replace('/[^0-9.]+/', '', $ed_total);

    $ed_tototal = $str - $str2;

    echo '<br>';
    echo 'Total shipping: '.get_woocommerce_currency_symbol().number_format((float)abs($ed_tototal), 2, '.', '');
    echo '<br>';
    echo '<br>';
}; 

add_action( 'woocommerce_after_shipping_rate', 'action_woocommerce_after_shipping_rate', 10, 2 ); 

正在我的结帐页面和购物车页面上工作 checkout page

以下是购买后的电子邮件模板

enter image description here

您在电子邮件模板中看到“总运费:£17.00”未显示,我不知道如何将其显示在电子邮件模板中

请帮忙,因为我现在正在努力解决这个问题,谢谢

1 个答案:

答案 0 :(得分:0)

add_action( 'woocommerce_email_after_order_table', 'wdm_add_shipping_method_to_order_email', 10, 2 );
function wdm_add_shipping_method_to_order_email( $order, $is_admin_email ) {
    echo '<p><h4>Shipping:</h4> ' . $order->get_shipping_method() . '</p>';
}

使用此功能,您可以覆盖默认的送货文本。愿这有帮助。 您只需将$ order-&gt; get_shipping_method()替换为您的代码。