答案 0 :(得分:5)
要做到这一点,你必须改变你的代码。
此外,由于 $order
对象已存在,我不确定您是否需要获取 $order = new WC_Order($order_id);
对象和订单ID。
因此,您可以在代码开头没有 $order = wc_get_order( $order_id );
(或 $order = wc_get_order( $order_id ); // optional (to test without it)
foreach ($order->get_items() as $item_id => $item) {
$product_name = $item['name']; // product name
$product_id = $order->get_item_meta($item_id, '_product_id', true); // product ID
$product_description = get_post($product_id)->post_content; // Product description
}
)的情况下首先尝试。如果没有它,你只需再添加它。
以下是代码:
{{1}}
此代码经过测试并有效。
代码进入活动子主题(或主题)的function.php文件。或者也可以在任何插件php文件中。
答案 1 :(得分:0)
嗨,所以需要插入的完整代码是?: 还有,应该更改什么以将其发送给处理操作而不是status_comleted?
add_action( 'woocommerce_order_status_completed', 'my_function' );
/*
* Do something after WooCommerce sets an order on completed
*/
function my_function($order_id)
{
f$order = wc_get_order( $order_id ); // optional (to test without it)
foreach ($order->get_items() as $item_id => $item) {
$product_name = $item['name']; // product name
$product_id = $order->get_item_meta($item_id, '_product_id', true); // product ID
$product_description = get_post($product_id)->post_content; // Product description
}