Это можно сделать разными способами:
Использование Wordpress get_post_meta()
и update_post_meta()
на customer_email
мета-ключ:
$coupon_post_id = 21; // The post ID
$user_email = 'test@gmail.com'; // The email to be added
// Get existing email restrictions
$email_restrictions = (array) get_post_meta( $coupon_post_id, 'customer_email', true );
// Add the new email to existing emails
if ( ! in_array( $user_email, $email_restrictions ) ) {
$email_restrictions[] = $user_email;
}
// Set a back updated email restrictions array
update_post_meta( $coupon_post_id, 'customer_email', $email_restrictions );
Использование CRUD-методы в экземпляре объекта WC_Coupon
(начиная с WooCommerce 3):
$coupon_code = 'happysummer'; // The coupon code
$user_email = 'test@gmail.com'; // The email to be added
// Get an instance of the WC_Coupon object
$coupon = new WC_Coupon( $coupon_code );
// Get email restrictions
$email_restrictions = (array) $coupon->get_email_restrictions();
// Add the customer email to the restrictions array
$email_restrictions[] = $customer_email;
// set the new array of email restrictions
$coupon->set_email_restrictions( $email_restrictions );
// Save the coupon data
$coupon->save();