From 86df0562c7a1e5a95b507bb0ed2bef1148493cff Mon Sep 17 00:00:00 2001 From: Ivan Kuraev <3224144+ivankuraev@users.noreply.github.com> Date: Sun, 18 Jan 2026 01:57:15 +0500 Subject: [PATCH] Enhance shipping item filtering logic Add checks for non-virtual and non-downloadable products in shipping filter. Signed-off-by: Ivan Kuraev <3224144+ivankuraev@users.noreply.github.com> --- src/Model/Order.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Model/Order.php b/src/Model/Order.php index fe5a6cf..25fd5c2 100644 --- a/src/Model/Order.php +++ b/src/Model/Order.php @@ -154,10 +154,11 @@ final public function getItems(bool $forShipping = true): array return $forShipping ? array_filter($items, static fn(WC_Order_Item_Product $e) => in_array( - $e->get_product()->get_type(), - self::SHIPPING_ALLOWED_PRODUCT_TYPES, - true, - )) : $items; + $e->get_product()->get_type(), + self::SHIPPING_ALLOWED_PRODUCT_TYPES, + true, + ) && !$e->get_product()->is_virtual() && !$e->get_product()->is_downloadable() + ) : $items; } final public function getShipping(): ?ShippingItem