Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Woocommerce-通过代码手动创建订单_Php_Wordpress_Woocommerce_Hook Woocommerce_Gravityforms - Fatal编程技术网

Php Woocommerce-通过代码手动创建订单

Php Woocommerce-通过代码手动创建订单,php,wordpress,woocommerce,hook-woocommerce,gravityforms,Php,Wordpress,Woocommerce,Hook Woocommerce,Gravityforms,我想知道是否有人能帮我写代码 提交重力表单时,我想在woocommerce中以编程方式创建订单。我已经设法使其工作,但想一些自定义元被放置在下面的订单中的产品项行 我已经成功地将元数据放入订单注释中,但理想情况下最好是放在元数据框中 这是我的密码: add_action('gform_after_submission_56','post_to_third party',10,2); 功能发布到第三方($entry,$form){ 全球商业; //使用此选项可以查找$entry输出 var_转储(

我想知道是否有人能帮我写代码

提交重力表单时,我想在woocommerce中以编程方式创建订单。我已经设法使其工作,但想一些自定义元被放置在下面的订单中的产品项行

我已经成功地将元数据放入订单注释中,但理想情况下最好是放在元数据框中

这是我的密码:

add_action('gform_after_submission_56','post_to_third party',10,2);
功能发布到第三方($entry,$form){
全球商业;
//使用此选项可以查找$entry输出
var_转储(条目);
$user_id=rgar($entry,'97');
$note=rgar($entry,'53');
$product_id=rgar($entry,'71');
$quantity=rgar($73');
$address=数组(
“first_name”=>rgar($entry,'98'),
“姓氏”=>rgar($entry,'99'),
“公司”=>rgar($entry,”),
'email'=>rgar($entry,'83'),
'phone'=>rgar($entry,'84'),
“address_1'=>rgar($entry,'88.1'),
“address_2'=>rgar($entry,'88.2'),
“城市”=>rgar($entry,'88.3'),
“state'=>rgar($entry,'88.4'),
“邮政编码”=>rgar($entry,'88.5'),
“国家”=>rgar($entry,'88.6'),
);
$order=wc_创建_订单();
$order->set_customer_id($user_id);
$order->add_product(wc_get_product($product_id),$quantity,$prices);
$order->set_address($address,'billing');
$order->计算_总计();
$order->update_状态(“暂停”,“暂停”,TRUE);
$order->add_order_note($note);
}
注意:原始代码示例中没有设置变量$prices

示例

//设置一些变量
$user_id=1;
$product_id=30;
$quantity=1;
$price=10;
$note='my custom note';
$product=wc\U get\U product($product\U id);
//创建订单对象
$order=wc_创建_订单();
$order->添加产品($product,$QUOTE,$price);
foreach($order->get\u items()作为$item\u key=>$item){
$item->添加元数据('Label','Value',true);
}
$order->set_customer_id($user_id);
$order->set_address($address,'billing');
$order->计算_总计();
$order->update_状态('on-hold','pending',TRUE);
$order->add_order_note($note);
因此,在您的代码中,这部分

$order=wc_create_order();
$order->set_customer_id($user_id);
$order->add_product(wc_get_product($product_id),$quantity,$prices);
$order->set_address($address,'billing');
$order->计算_总计();
$order->update_status(“暂停”,“待定”,TRUE);
$order->add_order_note($note);
变成这个

$order=wc_create_order();
$order->set_customer_id($user_id);
$order->add_product(wc_get_product($product_id),$quantity,$prices);
foreach($order->get\u items()作为$item\u key=>$item){
$item->添加元数据('Label','Value',true);
}
$order->set_address($address,'billing');
$order->计算_总计();
$order->update_状态('on hold','pending',TRUE);
$order->add_order_note($note);

这会触发一条错误消息。WordPress版本5.4.2当前插件:WooCommerce(版本4.2.0)PHP版本7.3.18错误详细信息=================文件/home/websit14/public_html/rogueink.com.au/shop/wp-content/plugins/WooCommerce/includes/abstract-wc-order.PHP的第1512行中出现了类型为E_的错误。错误消息:未捕获错误:在/home/websit14/public\u html/rogueink.com.au/shop/wp content/plugins/woocommerce/includes/abstracts/abstractwc order.php:1512在我的回答中,
get\u base\u country
没有在任何地方使用,这段代码仍然可以正常工作。可能是插件冲突。如果我发现了,会在这里更新。