微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WooCommerce 结帐显示基于特定运输类别的消息

如何解决WooCommerce 结帐显示基于特定运输类别的消息

我想在 Woocommerce 结帐页面中为特定的运输类别设置一条消息。

我尝试使用:

add_action( 'woocommerce_review_order_before_order_total','cart_items_shipping_class_message',20,1 );
function cart_items_shipping_class_message( $cart ){

    $shipping_class_id = 14; // Your shipping class Id

    // Loop through cart items
    foreach( WC()->cart->get_cart() as $cart_item ){
        // Check cart items for specific shipping class,displaying a notice
        //if( $cart_item['data']->get_shipping_class_id() == $shipping_class_id ){
            var_dump($cart_item['data']->get_shipping_class_id());
            echo "Do poznámky k objednávce napište adresu Zásilkovny nebo ZBoxu,kam chcete objednávku doručit.";
            //break;
        //}
    } 
}

但是当我尝试 var_dump 选择的运输类别时,它总是返回 int(0)

我使用过类似的东西:Cart Message for a Specific Shipping Class in WooCommerce,因为它对我不起作用。

解决方法

Cart Message for a Specific Shipping Class in WooCommerce 答案仍然适用于最新的 woocommerce 版本。

您的问题代码可以正常工作并显示运输类别 ID...所以还有其他问题造成了麻烦。

确保购物车项目已为其设置所需的运输类别。

尝试按照以下步骤在结帐时显示基于特定运输类别的消息slug

treeView.DataTextField = "Text";
treeView.DataFieldID = "ID";
treeView.DataFieldParentID = "ParentID";
treeView.DataSource = siteData;
treeView.DataBind();

代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。