[英]Woocommerce: add to cart automatically when visiting a page (variable product IDs)
[英]How to clear the woocommerce cart when visiting the particular page (outside of wordpress) custom php page
我有woocommerce商店,例如:example.com/store/
我正在wordpress之外創建一些產品銷售頁面:example.com/upsell.php
現在,一旦您訪問example.com/upsell.php,我想清除購物車,因為我們在加售中有多個步驟,最后我們發送了一個網址請求,將商品添加到購物車中(example.com/store/購物車/加到購物車= 1、5、8)。
每當您訪問加售頁面時,我們都需要清除購物車會話。
如何從加售頁面清除購物車會話?
您需要添加一個操作,該操作將清除模板重定向掛鈎中的購物車項目。
在自定義功能中,檢查當前頁塞,然后根據我們的條件清除購物車。
在主題的functions.php
或自定義插件文件中使用以下代碼片段。
add_action( 'template_redirect', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
global $post;
$slug = $post->post_name;
if($slug == 'sample-page') {
global $woocommerce;
$woocommerce->cart->empty_cart();
}
}
更新資料
如果您不喜歡對頁面信息進行硬編碼,那么還有更好的方法。
add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
if ( isset( $_GET['clear-cart'] ) ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
}
}
將上述代碼添加到主題的functions.php
文件中。
然后通過在URL中添加clear-cart
查詢字符串重定向到頁面,這將清除所有購物車項目。
我們可以在任何URL中使用此功能。
要么
我將使用$ _SERVER ['REQUEST_URI']來獲取頁面的當前URL,以便您可以測試是否在加售頁面上。
您需要使用以下功能來清除購物車
global $woocommerce;
$woocommerce->cart->empty_cart();
您需要在wp實例中創建Web api,使用此代碼清除購物車
global $woocommerce;
$woocommerce->cart->empty_cart();
並在upsell.php文件中調用該api。 您甚至可以使用HTTP_REFERER來檢查用戶是否直接點擊了upsell.php網址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.