WooCommerce按特定送货方式

时间:2018-01-23 12:32:25

标签: javascript php wordpress woocommerce

我在结帐页面上的运费价格标签后面添加“(包括增值税)”这样的简短文字时遇到问题。

主要问题是它必须是特定区域(zone_id = 1)中的某种送货方式,但我不知道如何访问这种特定的送货方式。

任何人都知道如何解决这个问题? 问候!

1 个答案:

答案 0 :(得分:0)

试试这段代码:

add_filter( 'woocommerce_cart_shipping_method_full_label', 'custom_shipping_labels', 10, 2 );

function custom_shipping_labels(){
        if ( $method->cost > 0) {
            if ( WC()->cart->tax_display_cart == 'excl' ) {
                // $label = $method->get_label()." : ".wc_price( $method->cost); //default

                $method_ID = $method->get_ID(); //retrieve the ID of the method label

                // $label = $method->get_label()." : ".wc_price( $method->cost )." ->".$method_ID; // This shows you each method id next to the label


                //Some conditions here
                switch ($method_ID) {
                    case "flat_rate:1":
                        $label = $method->get_label()." : ".wc_price( $method->cost )."(incl. VAT)"; // This show text "(Incl. VAT)"
                        break;
                    case "flat_rate:4":
                        $label = $method->get_label()." : ".wc_price( $method->cost )."(incl. VAT)"; // This show text "(Incl. VAT)"
                        break;
                    // etc...
                    default:
                        $label = $method->get_label()." : ".wc_price( $method->cost); //default
                }

                if ( $method->get_shipping_tax() > 0 && WC()->cart->prices_include_tax ) {
                    $label .= ' <small>' . WC()->countries->ex_tax_or_vat() . '</small>';
                }
            } else {

                // $label = wc_price( $method->cost + $method->get_shipping_tax() );// default


                $method_ID = $method->get_ID(); //retrieve the ID of the method label

                // $label = $method->get_label()." : ".wc_price( $method->cost + $method->get_shipping_tax() )." ->".$method_ID; // This shows you each method id next to the label


                //Some conditions here
                switch ($method_ID) {
                    case "flat_rate:1":
                        $label = $method->get_label()." : ".wc_price( $method->cost + $method->get_shipping_tax() )."(incl. VAT)"; // This show text "(Incl. VAT)"
                        break;
                    case "flat_rate:4":
                        $label = $method->get_label()." : ".wc_price( $method->cost + $method->get_shipping_tax() )."(incl. VAT)"; // This show text "(Incl. VAT)"
                        break;
                    // etc...
                    default:
                        $label = $method->get_label()." : ".wc_price( $method->cost + $method->get_shipping_tax() ); //default
                }




                if ( $method->get_shipping_tax() > 0 && ! WC()->cart->prices_include_tax ) {
                    $label = ' <small>' . WC()->countries->inc_tax_or_vat() . '</small>';
                }
            }
        }
    }

用于主题目录中的functions.php。

使用开关根据方法ID制作一些条件(删除注释行以回显每个方法ID)