首页 > 解决方案 > 在特定产品的 WooCommerce 购物车页面中的购物车项目名称后添加产品 ID

问题描述

我希望连接到woocommerce_cart_item_nameWooCommerce 中的过滤器,并希望仅在特定产品的名称后显示产品 ID。

我正在看这段代码:

add_filter( 'woocommerce_cart_item_name', 'just_a_test', 10, 3 );
function just_a_test( $item_name,  $cart_item,  $cart_item_key ) {
    // Display name and product id here instead
    echo $item_name.' ('.$cart_item['product_id'].')';
}

这确实会返回带有产品 ID 的名称,但它适用于我商店中的所有产品。

只想显示指定产品的产品 ID。我很好奇我将如何去做这件事?

标签: phpwordpresswoocommerceproductcart

解决方案


jpneey 给出的答案不起作用(HTTP ERROR 500),因为:

  • echo被用来代替return

所以你得到:

function filter_woocommerce_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
    // The targeted product ids, multiple product IDs can be entered, separated by a comma
    $targeted_ids = array( 30, 815 );
    
    // Product ID
    $product_id = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id'];
    
    if ( in_array( $product_id, $targeted_ids ) ) {
        return $item_name . ' (' . $product_id . ')';
    }

    return $item_name;
}
add_filter( 'woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3 );

推荐阅读