如果特定产品在 WooCommerce 购物车中,则在购物车页面中显示通知

Display a notice in cart page if specific products are in WooCommerce cart

我们如何使下面的这个函数来检查多个产品 ID 而不是只检查一个 ID,我们如何将它转换为数组?

add_action( 'woocommerce_before_cart', 'bbloomer_find_product_in_cart' );
    
function bbloomer_find_product_in_cart() {
  
   $product_id = 17285;
  
   $product_cart_id = WC()->cart->generate_cart_id( $product_id );
   $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
  
   if ( $in_cart ) {
  
      $notice = 'DON\'t Forget to Apply the discount coupon code you received to complete purchasing with the discounted price';
      wc_print_notice( $notice, 'notice' );
  
   }
  
}

我们尝试了 $product_ids = array("17285", "17302"); // 但它不起作用

我们也试过这个但还是不行

add_filter( 'woocommerce_before_cart', 'ts_woocommerce_quantity_selected_numbe', 10, 2 );
function ts_woocommerce_quantity_selected_numbe( $product ) {
    $product_ids = array("15757", "15758"); // Here the array of product Ids

    if ( in_array( $product->get_id(), $product_ids ) ) {
        // In cart
        if ( ! is_cart() ) {
            $notice = 'DON\'t Forget to Apply the discount coupon code you received to complete purchasing with the discounted price';
      wc_print_notice( $notice, 'notice' );
        } 
    }
}

对于购物车中的产品 ID 数组,请使用此代码,

$array_product_ids = array();

foreach( WC()->cart->get_cart() as $cart_item ){
    $product_id = $cart_item['product_id'];
    $array_product_ids =   $product_id
}
print_r($array_product_ids);    // here you find all product id which are in the cart. 

要检查一个或多个产品 ID 的购物车项目,显示通知,请改用:

add_action( 'woocommerce_before_cart', 'found_product_in_cart_display_message' );
function found_product_in_cart_display_message() {
    $product_ids = array(17285, 17302); // Array or product ids

    // Loop through cart items
    foreach ( WC()->cart->get_cart() as $item ) {
        if ( array_intersect( $product_ids, array($item['product_id'], $item['variation_id']) ) ) {
            // Display a notice
            wc_print_notice( __("Don't forget to apply the discount coupon code you received to complete purchasing with the discounted price."), 'notice' );
            break; // Stop the loop
        }
    }
}

代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。