【发布时间】:2019-10-14 21:29:56
【问题描述】:
对于 woocommerce,我正在使用 WooCommerce 订阅插件。我创建了一个函数,它可以使用 wc_get_product_id_by_sku() 函数从订阅产品创建基于产品 SKU 的订单。
这是我目前的功能:
function create_new_order() {
global $woocommerce;
$address = array(
'first_name' => 'Zakup',
'last_name' => 'Sklepowy',
'email' => 'test@test.pl',
'phone' => '123',
'address_1' => 'ul. Przykladowa 1',
'address_2' => 'm. 2',
'city' => 'Wroclaw',
'postcode' => '50-123',
);
$order = wc_create_order();
$product = new WC_Product( wc_get_product_id_by_sku( 'wpoh-prof-webshop' ) );
$order->add_product( $product, 1 );
$order->set_address( $address, 'billing' );
// Set payment gateway
$payment_gateways = WC()->payment_gateways->payment_gateways();
$order->set_payment_method( $payment_gateways['cod'] );
// Calculate totals
$order->calculate_totals();
$order->update_status( 'completed', 'In Store ', true );
}
用这一行:
$product = new WC_Product (wc_get_product_id_by_sku ('wpoh-prof-webshop'));
我拿起要与订单一起放置的产品。我已根据需要在此函数中硬编码客户帐单地址。
当我运行该函数时,会创建一个没有附加任何产品或地址的空订单。
在没有个人信息或产品的情况下创建的订单:
谁能帮助我并告诉我哪里出了问题?
【问题讨论】:
-
这就是我的意思哈哈哈,我的意思是当你创建一个订单时,你会发送一个可变的产品。
-
首先我现在要做的是 sku wpoh-prof-webshop 已经是一个选定的可变产品。当加载这个函数时,他必须创建一个订单。一旦他创建了订单,该函数必须查看要在订单中包含的 sku + 地址详细信息。在我加载函数的那一刻,它创建了一个没有地址数据和没有产品的空订单。
-
如果您正在阅读代码,您就会知道它的含义。 wpoh-prof-webshop 是我在 $product = new WC_Product( wc_get_product_id_by_sku( 'wpoh-prof-webshop' ) ) 上搜索的产品的 SKU;
-
@LoicTheAztec 我改了帖子你能再检查一下吗?
标签: php wordpress woocommerce orders woocommerce-subscriptions