首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Woocommerce中显示基于船运国的交货日期范围

在Woocommerce中显示基于船运国的交货日期范围
EN

Stack Overflow用户
提问于 2019-03-21 18:30:57
回答 1查看 862关注 0票数 2

在Woocommerce,我试图在购物车和结账页面上添加一个估计的交付日范围。

我已经设立了两个航运区:德国和其他欧洲国家(德国以外)称为"DHL欧洲“。我需要显示与其他欧洲航运国家不同的德国船运国的交货日范围:

  • 德国船运国将展出"Lieferzeit 3-5 Werk蒂奇“(当没有运费时)。
  • 其他欧洲航运国家将展出"Lieferzeit 5-7 werk蒂奇“。

我的代码尝试:

代码语言:javascript
运行
复制
function sv_shipping_method_estimate_label( $label, $method ) {
    $label .= '<br /><small class="subtotal-tax">';
    switch ( $method->method_id ) {
        case 'flat_rate':
            $label .= 'Lieferzeit 3-5 Werktage';
            break;
        case 'free_shipping':
            $label .= 'Lieferzeit 3-5 Werktage';
            break;
        case 'international_delivery':
            $label .= 'Lieferzeit 5-7 Werktage';
    }

    $label .= '</small>';
    return $label;
}
add_filter( 'woocommerce_cart_shipping_method_full_label', 'sv_shipping_method_estimate_label', 10, 2 );

它适用于free_shippingflat_rate的运输方法,但不适用于欧洲(德国以外的地区)。

我做错了什么?

如何显示欧洲国家(德国以外)的正确日期范围

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 19:22:40

您实际上不需要针对您的运输方法,而是客户发货国:

代码语言:javascript
运行
复制
add_filter( 'woocommerce_cart_shipping_method_full_label', 'cart_shipping_method_full_label_filter', 10, 2 );
function cart_shipping_method_full_label_filter( $label, $method ) {
    // The targeted country code
    $targeted_country_code = 'DE';

    if( WC()->customer->get_shipping_country() !== $targeted_country_code ){
        $days_range = '5-7'; // International
    } else {
        $days_range = '3-5'; // Germany
    }
    return $label . '<br /><small class="subtotal-tax">' . sprintf( __("Lieferzeit %s Werktage"), $days_range ) . '</small>';
}

代码转到您的活动子主题(或活动主题)的function.php文件上。测试和工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55287041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档