在 WooCommerce 购物车显示的数量上定位特定产品 ID

Target specific product IDs on WooCommerce cart displayed quantity

我正在使用此代码使产品在购物车中显示框,但我只想让它在某些产品上显示。我怎样才能输入产品编号?

function cw_change_product_quantity_display( $quantity )  { 
    $quantity .= '  Caja (s)';
    return $quantity;
  }
  add_filter( 'woocommerce_get_quantity_html', 'cw_change_product_quantity_display' );
  add_filter( 'woocommerce_cart_item_quantity', 'cw_change_product_quantity_display' );

挂钩 woocommerce_get_quantity_html 未在 WooCommerce 核心中定义,因此可能是第三方插件、您的主题或您自己添加的自定义挂钩…

现在,对于挂钩 woocommerce_cart_item_quantity,您的代码中缺少 2 个额外的可选参数,这些参数将允许您定位产品 ID,例如:

add_filter( 'woocommerce_cart_item_quantity', 'change_cart_item_displayed_quantity', 10, 3 );
function change_cart_item_displayed_quantity( $product_quantity, $cart_item_key, $cart_item ) { 
    // Here define your product ID(s) in the array
    $product_ids = array( 37, 53 );

    if( array_intersect( [ $cart_item['product_id'], $cart_item['variation_id'] ], $product_ids ) ) {
        $product_quantity .= __('  Caja (s)');
    }
    return $product_quantity;
}

它应该只适用于某些已定义的产品 ID。

但是由于$product quantity是一个输入数字的字段,你的自定义文本会显示在这个数量字段之后,这很奇怪。