1 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
由于購(gòu)物車(chē)一旦放入其他商品就會(huì)被清空,因此$flag_custom_order變量的值將始終顯示false在“收到訂單(謝謝)”頁(yè)面上。
functions.php相反,您可以在活動(dòng)主題的文件中使用以下內(nèi)容(這將在下訂單時(shí)、保存數(shù)據(jù)之前將其保存為自定義訂單元數(shù)據(jù)):
add_action( 'woocommerce_checkout_create_order', 'action_wc_checkout_create_order', 10, 2 );
function action_wc_checkout_create_order( $order, $data ) {
$has_backordered_items = false;
if( ! WC()->cart->is_empty() ) {
foreach(WC()->cart->get_cart() as $cart_item ) {
if ( $cart_item['data']->get_stock_quantity() <= 0 ) {
$has_backordered_items = true;
break;
}
}
}
if( $has_backordered_items ) {
$order->update_meta_data( '_has_backordered_items', $has_backordered_items );
}
}
然后在thankyou.php模板文件中,您將使用以下內(nèi)容(當(dāng)WC_Order對(duì)象存在時(shí)):
<?php
if ( $order->get_meta('_has_backordered_items') ) {
echo '<p>' . __("This order has backordered items.") . '</p>';
}
?>
- 1 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報(bào)