5

我正在尝试自定义WC 结帐页面。在我的结帐页面中,我设置了2 种运输方式我的目标是在第一种运输方式下方添加一个自定义字段。为了实现这一点,我使用了下面提到的钩子。

woocommerce_after_shipping_rate

但我的问题是,它只是为每种可用的运输方式添加了相同的字段。如何为特定的运输方式添加输入字段?

4

1 回答 1

7

使用作为Object$method实例的参数,WC_Shipping_Rate您可以使用方法定位任何运输方法 Id get_id(),如下例所示:

add_action( 'woocommerce_after_shipping_rate', 'checkout_shipping_additional_field', 20, 2 );
function checkout_shipping_additional_field( $method, $index )
{
    if( $method->get_id() == 'flat_rate:12' ){
        echo '<br>
        <input type="checkbox" name="shipping_custom_1" id="shipping_custom_1" value="1" class="shipping_method shipping_custom_1">
        <label for="shipping_custom_1">Custom label</label>';
    }
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。

在此处输入图像描述

在此处输入图像描述


类似的答案:

于 2018-08-20T08:04:05.617 回答