1 回答
TA贡献1815条经验 获得超10个赞
更新 2 - 自 WooCommerce 3 以来,您的代码中存在一些错误和不推荐使用的内容。尝试以下操作(已评论):
// Function that create an order
function create_vip_order() {
// Create a WC_Order instance object
$order = wc_create_order();
$order->add_product( wc_get_product( '3283' ), 3 ); // <== get_product() is deprecated and replaced by wc_get_product()
$address = array(
'first_name' => 'a',
'last_name' => 'a',
'company' => 'a',
'address_1' => 'a',
'address_2' => 'a',
'city' => 'a',
'state' => 'FL', // <== UPERCASE
'postcode' => '',
'country' => 'USA', // <== UPERCASE
'email' => 'abc@abc.com', // <== EMAIL REQUIRED
'phone' => '',
);
$order->set_address( $address, 'billing' );
$order->set_address( $address, 'shipping' );
$order->calculate_totals();
$order->update_status('processing', 'Imported order', true); // <== LOWERCASE for the WC status
}
// Triggered once
add_action( 'init', 'my_run_only_once' );
function my_run_only_once() {
if ( did_action( 'init' ) >= 2 )
return;
if( ! get_option('run_create_vip_order_once') ) {
create_vip_order(); // Run the function
update_option( 'run_create_vip_order_once', true );
}
}
现在,创建订单的函数将按预期只运行一次。请注意,global $woocommerce不再需要它了。
- 1 回答
- 0 关注
- 228 浏览
添加回答
举报