我正在尝试从csv文件中导入约1000个优惠券代码到woocoommerce
我已经使用过此代码,但它无效
此代码可以生成1个优惠券程序:
$coupon_code = 'UNIQUECODE'; // Code
$amount = '10'; // Amount
$discount_type = 'fixed_cart'; // Type: fixed_cart, percent, fixed_product, percent_product
$coupon = array(
'post_title' => $coupon_code,
'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', $amount );
update_post_meta( $new_coupon_id, 'individual_use', 'no' );
update_post_meta( $new_coupon_id, 'product_ids', '' );
update_post_meta( $new_coupon_id, 'exclude_product_ids', '' );
update_post_meta( $new_coupon_id, 'usage_limit', '' );
update_post_meta( $new_coupon_id, 'expiry_date', '' );
update_post_meta( $new_coupon_id, 'apply_before_tax', 'yes' );
update_post_meta( $new_coupon_id, 'free_shipping', 'no' );
我需要为csv文件的每一行执行此功能
你能帮助我吗,我今天需要解决方案。答案 0 :(得分:0)
如果有人仍在寻找答案,这可以通过每个循环完成。我不知道我头顶的确切功能,但步骤非常简单,谷歌会帮助你。
首先将CSV导入阵列。与MySQL查询的方式非常相似。
然后你做一个PHP foreach
循环。
在循环内部,您可以使用填充teh数组变量的问题中的代码。例如,
$coupon_code = '$array[code]'; // Code
$amount = '$array[amount]'; // Amount
$discount_type = '$array[discount_type]';
您还可以在meta部分中包含数组数据,如下所示:
update_post_meta( $new_coupon_id, 'product_ids', $array[ids] );
update_post_meta( $new_coupon_id, 'exclude_product_ids', $array[exclude] );
update_post_meta( $new_coupon_id, 'usage_limit', $array[limit] );
update_post_meta( $new_coupon_id, 'expiry_date', $array[expires] );
同样,这只是能够完成iCode98所要求的功能的一般概要。 php手册有很多信息,有很多关于将csv转换为数组和每个循环的教程。我可能对此有用,如果我构建它或者某人真的需要它,我会用一个工作示例更新它。
更新:
这应该可以工作,但它取决于输入文件
$file = fopen('myCSVFile.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements, This is where you would add the script above.
//Each column of the csv is in the array by id. So if you have:
//`a,b,c` Then `a=$line[0]` `b=$line[1]` `c=$line[2]` and so on.
}
fclose($file);