如果特定产品在 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 文件。已测试并有效。
我们如何使下面的这个函数来检查多个产品 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 文件。已测试并有效。