slug_generator = $slug_generator; } /** * @inheritdoc * @since 0.8 */ public function create(Complex_Product $parent, Name $name, Slug $slug) { do_action('aff_product_variant_factory_before_create'); do_action('aff_product_factory_before_create'); $product_variant = new Product_Variant($parent, $name, $slug); $product_variant = apply_filters('aff_product_variant_factory_create', $product_variant); $product_variant = apply_filters('aff_product_factory_create', $product_variant); do_action('aff_product_variant_factory_after_create'); do_action('aff_product_factory_after_create'); return $product_variant; } /** * @inheritdoc * @since 0.9.7 */ public function create_from_name(Complex_Product $parent, Name $name) { $product_variant = $this->create( $parent, $name, $this->slug_generator->generate_from_name($name) ); return $product_variant; } }