如何排除将特定产品 ID 添加到 WooCommerce 中的数组
How to exclude a specific product ID from being added to an array in WooCommerce
我正在尝试 运行 如果语句为真(产品 ID 存在于数组中)的函数,我想从中排除特定的产品 ID。
到目前为止,我有以下代码可以正常工作,但它仍然适用于所有产品,请问我如何排除该产品?
if ( ! is_null( WC()->cart ) ) {
// Initialize
$product_ids = array();
// Loop through cart contents
foreach ( WC()->cart->get_cart_contents() as $cart_item ) {
if ($cart_item['product_id'] != 32) {
// Get product ID and push to array
$product_ids[] = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id'];
}
}
}
您的代码本身没有任何问题,但您在 if 条件中使用了 $cart_item['product_id']
,因此如果它是一个变体 ID,您的条件将不会得到满足。
可以使用 if 条件,但是要将其应用于 1 个或多个产品 ID,您最好使用 NOT (!
) in_array()
所以你得到:
if ( ! is_null( WC()->cart ) ) {
// Initialize
$product_ids = array();
// Loop through cart contents
foreach ( WC()->cart->get_cart_contents() as $cart_item ) {
// Get product ID
$product_id = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id'];
// Exlude Product ID(s), NOT in array
if ( ! in_array( $product_id, array( 32, 30, 817 ) ) ) {
// Push to array
$product_ids[] = $product_id;
}
}
}
我正在尝试 运行 如果语句为真(产品 ID 存在于数组中)的函数,我想从中排除特定的产品 ID。
到目前为止,我有以下代码可以正常工作,但它仍然适用于所有产品,请问我如何排除该产品?
if ( ! is_null( WC()->cart ) ) {
// Initialize
$product_ids = array();
// Loop through cart contents
foreach ( WC()->cart->get_cart_contents() as $cart_item ) {
if ($cart_item['product_id'] != 32) {
// Get product ID and push to array
$product_ids[] = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id'];
}
}
}
您的代码本身没有任何问题,但您在 if 条件中使用了 $cart_item['product_id']
,因此如果它是一个变体 ID,您的条件将不会得到满足。
可以使用 if 条件,但是要将其应用于 1 个或多个产品 ID,您最好使用 NOT (!
) in_array()
所以你得到:
if ( ! is_null( WC()->cart ) ) {
// Initialize
$product_ids = array();
// Loop through cart contents
foreach ( WC()->cart->get_cart_contents() as $cart_item ) {
// Get product ID
$product_id = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id'];
// Exlude Product ID(s), NOT in array
if ( ! in_array( $product_id, array( 32, 30, 817 ) ) ) {
// Push to array
$product_ids[] = $product_id;
}
}
}