Automattic\WooCommerce\Api\Mutations\Coupons
CreateCoupon::execute
Execute the mutation.
Method of the class: CreateCoupon{}
No Hooks.
Returns
Coupon.
Usage
$CreateCoupon = new CreateCoupon(); $CreateCoupon->execute( #[Description( foo )] CreateCouponInput $input, ): Coupon;
[Description( foo )] CreateCouponInput $input (required)
: .
- (required)
- .
CreateCoupon::execute() CreateCoupon::execute code WC 10.9.1
public function execute(
#[Description( 'Data for the new coupon.' )]
CreateCouponInput $input,
): Coupon {
$wc_coupon = new \WC_Coupon();
$wc_coupon->set_code( $input->code );
foreach ( array( 'description', 'amount', 'date_expires', 'individual_use', 'product_ids', 'excluded_product_ids', 'usage_limit', 'usage_limit_per_user', 'limit_usage_to_x_items', 'free_shipping', 'product_categories', 'excluded_product_categories', 'exclude_sale_items', 'minimum_amount', 'maximum_amount', 'email_restrictions' ) as $field ) {
if ( null !== $input->$field ) {
$wc_coupon->{"set_{$field}"}( $input->$field );
}
}
if ( null !== $input->discount_type ) {
$wc_coupon->set_discount_type( $input->discount_type->value );
}
if ( null !== $input->status ) {
$wc_coupon->set_status( $input->status->value );
}
$wc_coupon->save();
return CouponMapper::from_wc_coupon( $wc_coupon );
}