cart->is_empty() ) return $available_gateways; // آیدی محصولات $zarinpal_products = array( 13404, 13405 ); // فقط زرینپال $sibpay_product = 13397; // فقط سیبپی $has_zarinpal = false; $has_sibpay = false; // این روش کاملاً امن و بدون خطاست foreach ( WC()->cart->get_cart_contents() as $cart_item ) { $product_id = $cart_item['product_id']; if ( in_array( $product_id, $zarinpal_products ) ) { $has_zarinpal = true; } if ( $product_id == $sibpay_product ) { $has_sibpay = true; } } // فقط محصولات زرینپال → سیبپی رو حذف کن if ( $has_zarinpal && ! $has_sibpay ) { unset( $available_gateways['wc_sibpay'] ); } // فقط محصول سیبپی → زرینپال رو حذف کن elseif ( $has_sibpay && ! $has_zarinpal ) { unset( $available_gateways['wc_zpal'] ); } // اگر هر دو نوع محصول با هم باشن → هر دو درگاه نمایش داده میشه (یا بگو تغییر بدم) return $available_gateways; }