我正在嘗試做一些新的作業,以顯示 woocommerce 插件的 2 個不同的感謝頁面。當用戶選擇了不同的送貨方式(如本地取貨)時,我想在結帳后將他們重定向到不同的感謝頁面。
我添加了以下代碼,但它不起作用重定向到默認值。我究竟做錯了什么
// Thank you page redirect
add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );
function woo_custom_redirect_after_purchase() {
global $wp;
if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
wp_redirect( 'https://mywebsite.com/thank-you-page-1/' );
exit;
}
elseif( $order->has_shipping_method('local_pickup:7') ) {
wp_redirect( 'https://mywebsite.com/thank-you-page-2/' );
exit;
}
elseif( $order->has_shipping_method('flat_rate:1') ) {
wp_redirect( 'https://mywebsite.com/thank-you-page-3/' );
exit;
}
}
不確定發生了什么,可能是我遺漏了或做錯了什么。
uj5u.com熱心網友回復:
它必須是重定向嗎?我不知道你到底在做什么,但也許根據運輸方式顯示不同的內容就足夠了?如果是這樣,您可以編輯Thankyou.php模板。
首先將檔案復制plugins/woocommerce/templates/checkout/thankyou.php到您的主題目錄themes/(your-theme)/woocommerce/checkout/tankyou.php。在這里,您可以更改謝謝模板,而不會在 woocommerce 更新后丟失更改。(模板結構和通過主題覆寫模板)
現在您可以調整thankyou.php(在您的主題目錄中)并在正確的位置添加您的條件:
if ( $order->has_shipping_method('local_pickup:7') ) {
echo "thank you content 2";
}
elseif ( $order->has_shipping_method('flat_rate:1') ) {
include 'path-to/my-tankyou-content3-file.php';
}
uj5u.com熱心網友回復:
//使用這個鉤子來定位你的感謝頁面。
<?php
add_action( 'woocommerce_thankyou', 'your_function_name');
function your_function_name($order_get_id){
// Here comes your code
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323217.html
標籤:WordPress的 求购
