automatewoo/includes/Logic_Helper.php
fei-source 47d3c9a8b6 Update to v6.2.2
Source: GrootMade/Festinger Vault
2026-03-15 08:31:15 +08:00

45 lines
No EOL
942 B
PHP

<?php
// phpcs:ignoreFile
namespace AutomateWoo;
/**
* @class Logic_Helper
*/
class Logic_Helper {
/**
* Check if two products are the same, complexity aries when considering variations
*
* @param \WC_Product $actual_product
* @param \WC_Product $expected_product
* @return bool
*/
static function match_products( $actual_product, $expected_product ) {
if ( ! $actual_product ) {
return false;
}
$match = false;
if ( $expected_product->is_type( 'variation' ) ) {
// match a specific variation
if ( $expected_product->get_id() == $actual_product->get_id() ) {
$match = true;
}
}
else {
// match the main product or any of its variations
$actual_main_product_id = $actual_product->is_type( 'variation' ) ? $actual_product->get_parent_id() : $actual_product->get_id();
if ( $expected_product->get_id() == $actual_main_product_id ) {
$match = true;
}
}
return $match;
}
}