我在WooCommerce購物車中有兩種不同的產品。一個是票,另一個是在用戶上傳文件之前必須支付的費用(由我創建的重力表格處理)。有條件WooCommerce確認/訂單接收頁面基於產品或類別?
目前,如果我在Order Order頁面上將Gravity表格鏈接到頁面,如果有人購買了一張票,他們會看到這個鏈接,這會讓人感到困惑。
基於購買的產品購買完成後,是否有方法可以擁有唯一的確認頁?
如果沒有,是否有條件標籤或某種鉤子或過濾器,如果購買了「收費產品」(可能基於產品ID或類別ID),它們只會在Order Received頁面上顯示Gravity Form的鏈接)?
我發現這個代碼片段:
https://sozot.com/how-to-hook-into-woocommerce-to-trigger-something-after-an-order-is-placed/
但當我嘗試這個辦法:
add_action('woocommerce_payment_complete', 'custom_process_order', 10, 1);
function custom_process_order($order_id) {
$order = new WC_Order($order_id);
$myuser_id = (int)$order->user_id;
$user_info = get_userdata($myuser_id);
$items = $order->get_items();
foreach ($items as $item) {
if ($item['product_id']==154) {
echo '<h3>If you are submitting a script, please <a href="http://www.ashlandnewplays.org/wp/submit-a-script/step-2/">click here to submit your script</a>.</h3>';
}
}
return $order_id;
}
沒有被顯示的訂單詳細信息屏幕上。奇怪的是,如果我嘗試使用wp_redirect並強制重定向頁面,它「起作用」,但它會打破頁面並導致網站在結帳頁面中出現一些奇怪的嵌入。
更新woocommerce時,這不會被覆蓋嗎?也許它應該是更好的,如果你在你的主題上覆蓋這些:https://www.sellwithwp.com/customizing-woocommerce-order-emails/ – zJorge