From 2d7ee363986b333257052ec7bd5961445d39edf6 Mon Sep 17 00:00:00 2001 From: gcch Date: Tue, 14 Apr 2026 11:30:27 +0200 Subject: [PATCH] fix: retourne un tableau pour les Options d'un Attribut --- .../themes/haiku-atelier-2024/src/inc/Data/Attribute.php | 6 +++++- .../haiku-atelier-2024/src/inc/Data/AttributeOption.php | 3 +++ .../haiku-atelier-2024/src/inc/Data/ProductVariation.php | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/app/themes/haiku-atelier-2024/src/inc/Data/Attribute.php b/web/app/themes/haiku-atelier-2024/src/inc/Data/Attribute.php index 3e9e57a9..27ca18be 100644 --- a/web/app/themes/haiku-atelier-2024/src/inc/Data/Attribute.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/Data/Attribute.php @@ -20,6 +20,9 @@ final readonly class Attribute { public array $options, ) {} + /** + * Créé une nouvelle instance de `Attribut` depuis un `WC_Product_Attribute`. + */ public static function new(WC_Product_Attribute $attribute): self { $name = wc_attribute_label($attribute->get_name()); $slug = $attribute->get_name(); @@ -27,7 +30,8 @@ final readonly class Attribute { $terms = $attribute->get_terms() ?? []; /** @var list */ $options = Arr::map($terms, AttributeOption::new(...)) - |> (static fn($options) => Arr::sort($options, static fn($attribute) => $attribute->id)); + |> (static fn($options) => Arr::sort($options, static fn($attribute) => $attribute->id)) + |> array_values(...); return new self(name: $name, slug: $slug, options: $options); } diff --git a/web/app/themes/haiku-atelier-2024/src/inc/Data/AttributeOption.php b/web/app/themes/haiku-atelier-2024/src/inc/Data/AttributeOption.php index 4359b920..a2d77967 100644 --- a/web/app/themes/haiku-atelier-2024/src/inc/Data/AttributeOption.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/Data/AttributeOption.php @@ -13,6 +13,9 @@ final readonly class AttributeOption { public string $slug, ) {} + /** + * Créé une nouvelle instance de `AttributeOption` depuis un `WP_Term`. + */ public static function new(WP_Term $term): self { $id = $term->term_taxonomy_id; $name = $term->name; diff --git a/web/app/themes/haiku-atelier-2024/src/inc/Data/ProductVariation.php b/web/app/themes/haiku-atelier-2024/src/inc/Data/ProductVariation.php index 11104db0..6609537e 100644 --- a/web/app/themes/haiku-atelier-2024/src/inc/Data/ProductVariation.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/Data/ProductVariation.php @@ -19,7 +19,7 @@ final readonly class ProductVariation { ) {} /** - * Créé une nouvelle instance de `ProductVariation` à partir d'un `WC_Product`. + * Créé une nouvelle instance de `ProductVariation` depuis un `WC_Product`. */ public static function new(WC_Product $product): self { $id = $product->get_id();