Как обновить объекты кода купона в Woocommerce - PullRequest
1 голос
/ 09 мая 2019

Как обновить объекты кода купона в Woocommerce (Wordpress).

$beforeadduseremail="test@gmail.com";

update_post_meta( 21, 'email_restrictions', $beforeadduseremail);

1 Ответ

1 голос
/ 10 мая 2019

Это можно сделать разными способами:

Использование 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...