如果产品具有特定的运输类别,则向 WooCommerce 购物车项目添加自定义文本

use*_*894 2 php wordpress cart woocommerce hook-woocommerce

当产品具有特定的运输类别时,我尝试在结帐/购物车页面上的产品标题下方显示特定文本。我怎么做?

我很难在产品循环内添加文本。

Loi*_*tec 5

以下内容将在购物车和结帐页面中的购物车商品名称下显示定义的运输类别的自定义文本:

// Display a custom text under cart item name in cart page
add_filter( 'woocommerce_cart_item_name', 'custom_text_cart_item_name', 10, 3 );
function custom_text_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
    // Here below define your shipping class slug
    $shipping_class = 'extra';

    if( is_cart() && $cart_item['data']->get_shipping_class() === $shipping_class ) {
        $item_name .= '<br /><div class="item-shipping-class">' . __("This is my custom text", "woocommerce") . '</div>';
    }
    return $item_name;
}

// Display a custom text under cart item name in checkout
add_filter( 'woocommerce_checkout_cart_item_quantity', 'custom_checkout_text_cart_item_name', 10, 3 );
function custom_checkout_text_cart_item_name( $item_qty, $cart_item, $cart_item_key ) {
    // Here below define your shipping class slug
    $shipping_class = 'extra';

    if( $cart_item['data']->get_shipping_class() === $shipping_class ) {
        $item_qty .= '<br /><div class="item-shipping-class">' . __("This is my custom text", "woocommerce") . '</div>';
    }
    return $item_qty;
}
Run Code Online (Sandbox Code Playgroud)

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