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

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


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' );


繁花不似锦
浏览 117回答 1
1回答

哈士奇WWW

该挂钩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 是一个输入数字字段,你的自定义文本会显示在这个数量字段之后,这很奇怪。
打开App,查看更多内容
随时随地看视频慕课网APP