以编程方式创建Woocommerce优惠券

时间:2017-05-08 21:07:32

标签: php arrays wordpress woocommerce coupon

我试图通过自定义wordpress插件以编程方式生成woocommerce优惠券。

通常它可以工作并创建优惠券,但是一些优惠券添加选项仍然不起作用。例如,电子邮件限制和产品类别不会添加。在$ _POST上,它接收产品类别和电子邮件限制的数组但不起作用。

我也尝试过使用和不使用implode()但是相同。

这是我的代码:

function send_coupons_to_users_action() {
$couponname =   $_POST['couponname'];
$discountpercent = $_POST['discountpercent'];
$categorycount = count($_POST['categoryname']);
$usercount = count($_POST['checkedusers']);
$categoryname = $_POST['categoryname'];
$emailrestrict = $_POST['checkedusers'];

/* -------- GENERATE COUPON ------------ */
$discount_type = 'percent';

$coupon = array(
    'post_title' => $couponname,
    'post_content' => '',
    'post_status' => 'publish',
    'post_author' => 1,
    'post_type'     => 'shop_coupon'
);

$new_coupon_id = wp_insert_post( $coupon );

// Add meta
update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
update_post_meta( $new_coupon_id, 'coupon_amount', $discountpercent );
update_post_meta( $new_coupon_id, 'individual_use', 'yes' );
update_post_meta( $new_coupon_id, 'product_categories', $categoryname );
update_post_meta( $new_coupon_id, 'usage_limit_per_user', '1' );
update_post_meta( $new_coupon_id, 'usage_limit', $usercount );
update_post_meta( $new_coupon_id, 'expiry_date', '2017-05-09' );
update_post_meta( $new_coupon_id, 'email_restrictions', $emailrestrict );


echo 'Function End!';
}

它有什么问题?

*****更新*******

我解决了这个问题。如果有人需要,我会发布解决方案。

1)我试图发布类别slug,但是用类别ID改变了它,它开始工作了。

2)而不是:

update_post_meta( $new_coupon_id, 'email_restrictions', $emailrestrict );

使用:

update_post_meta( $new_coupon_id, 'customer_email', $emailrestrict );

所以它最终开始工作了。

0 个答案:

没有答案