is_type( 'variation' ) ) { return self::NOT_FOUND; } if ( 'publish' !== $product->get_status() || post_password_required( $product_id ) ) { return self::NOT_PUBLIC; } if ( null === TypeResolver::for_product( $product_id ) ) { return self::UNSUPPORTED_TYPE; } $shown = $product; if ( $variation_id > 0 ) { $variation = wc_get_product( $variation_id ); if ( ! $variation instanceof \WC_Product_Variation || $variation->get_parent_id() !== $product_id ) { return self::VARIATION_MISMATCH; } $shown = $variation; } return $shown->get_image_id() ? null : self::NO_IMAGE; } }