簡體   English   中英

Woocommerce在添加到購物車之前重定向到自定義頁面

[英]Woocommerce redirect to custom page before adding to cart

我想在將商品添加到購物車之前重定向到自定義頁面,因為我想在用戶真正將商品添加到購物車之前驗證一些信息。

單擊“添加到購物車”並提供一些預先的購物車信息,然后單擊“繼續添加到購物車”時,如何設置用戶重定向的頁面?

這是我的第一個Woocommerce網站,所以我遇到了麻煩。 到目前為止,我在本教程中發現的是此代碼。

function custom_add_to_cart_redirect() { 
    return 'http://www.yourdomain.com/your-page/'; 
}
add_filter( 'woocommerce_add_to_cart_redirect', 'custom_add_to_cart_redirect' );

但是它首先添加購物車,然后重定向到該自定義頁面。 但是我想重定向而不添加到購物車。

請幫忙

add_to_cart_action()作為對“ wp_loaded”的操作被調用。

add_action( 'wp_loaded', array( __CLASS__, 'add_to_cart_action' ), 20 );

因此,您可以通過以下方式在add_to_cart_action()之前執行處理程序:

add_action( 'wp_loaded', array( __CLASS__, 'your handler' ), 19 );

注意:add_to_cart_action()首先檢查這是否確實是添加到購物車請求,如果不是,則返回:

if ( empty( $_REQUEST['add-to-cart'] ) || ! is_numeric( $_REQUEST['add-to-cart'] ) ) {
    return;
}

參見... \\ woocommerce \\ includes \\ class-wc-form-handler.php中的add_to_cart_action()

您需要執行此操作,因為在所有請求上都會調用“ wp_loaded”。 請求重定向wp_safe_redirect()之后,您需要退出以防止add_to_cart_action()在此請求上運行。 驗證之后,重定向處理需要再次調用原始請求,並帶有指示該請求已被驗證的指示。

PS:我同意cale_b的評論-進行驗證可能更容易進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM