久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

基于購物車的 WooCommerce 登錄重定向

WooCommerce login redirect based on cart(基于購物車的 WooCommerce 登錄重定向)
本文介紹了基于購物車的 WooCommerce 登錄重定向的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我想申請以下兩種情況:

I want to apply following 2 case :

  • 如果用戶未登錄且購物車為空:然后重定向用戶登錄,然后重定向我的帳戶
  • 如果用戶未登錄并且購物車有產品:然后重定向用戶登錄,登錄后重定向到結帳

我的代碼:

 function wpse_Nologin_redirect() {

    if (
        ! is_user_logged_in()
        && (is_checkout())
    ) {
        // feel free to customize the following line to suit your needs
        $MyLoginURL = "http://example.in/my-account/";
        wp_redirect($MyLoginURL);
        exit;
    }
}
add_action('template_redirect', 'wpse_Nologin_redirect');

以上代碼在我的第一種情況下運行良好.但是對于我的第二種情況,當我使用 if ( sizeof( $woocommerce->cart->cart_contents ) == 0 ) {} 檢查購物車時,我的網站停止在職的.

Above code is working fine for my first case. But for my second case, when I check cart with if ( sizeof( $woocommerce->cart->cart_contents ) == 0 ) {}, my site stops working.

我已將此代碼添加到我的主題的functions.php 文件中.

I have added this code in my theme's functions.php file.

我做錯了什么?

推薦答案

為避免您的網站關閉, global $woocommerce; 缺失.
現在帶有 $woocommerce->cartglobal $woocommerce; 現在簡單地替換為 WC()->cart.

To avoid your site to be off, global $woocommerce; is missing.
Now global $woocommerce; with $woocommerce->cart is now simply replaced by WC()->cart.

要檢查購物車是否為空,您應該使用 WC()->cart->is_empty(),如 is_empty()WC_cart.

To check if cart is empty, you should use WC()->cart->is_empty(), as is_empty() is a conditional method of WC_cart class.

之后,在結帳頁面(在兩種情況下)如果用戶未登錄,您希望將他重定向到 my_account 頁面(登錄/創(chuàng)建帳戶區(qū)域).

After, on checkout page (in both cases) if user is not logged in, you want to redirect him to my_account page (login/create account area).

現在在 my_account 頁面,當登錄用戶的購物車中有東西時,您希望將他重定向到結帳頁面.

Now on my_account page, when a logged user has something in his cart, you want to redirect him on checkout page.

這是您需要的代碼:

add_action('template_redirect', 'woocommerce_custom_redirections');
function woocommerce_custom_redirections() {
    // Case1: Non logged user on checkout page (cart empty or not empty)
    if ( !is_user_logged_in() && is_checkout() )
        wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );

    // Case2: Logged user on my account page with something in cart
    if( is_user_logged_in() && ! WC()->cart->is_empty() && is_account_page() )
        wp_redirect( get_permalink( get_option('woocommerce_checkout_page_id') ) );
}

代碼位于活動子主題的 function.php 文件中.經過測試并有效.

參考(Woocommerce 文檔):

  • Woocommerce Class WC_Cartis_empty() 方法
  • WooCommerce 可用的條件標簽
  • Woocommerce Class WC_Cartis_empty() method
  • WooCommerce Available conditional tags

這篇關于基于購物車的 WooCommerce 登錄重定向的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Add programmatically a downloadable file to Woocommerce products(以編程方式將可下載文件添加到 Woocommerce 產品)
Get today#39;s total orders count for each product in Woocommerce(獲取今天 Woocommerce 中每種產品的總訂單數)
Add Custom registration fields in WooCommerce and phone field validation issue(在 WooCommerce 和電話字段驗證問題中添加自定義注冊字段)
Add a select field that will change price in Woocommerce simple products(在 Woocommerce 簡單產品中添加一個將更改價格的選擇字段)
Add custom columns to admin products list in WooCommerce 3(在 WooCommerce 3 中將自定義列添加到管理產品列表)
Customizing checkout quot;Place Orderquot; button output html(自定義結帳“下訂單按鈕輸出html)
主站蜘蛛池模板: 欧美综合在线视频 | 久久久www | 免费国产一区二区视频 | 日韩一区二区视频 | 一级看片免费视频囗交动图 | 日韩中文字幕视频在线观看 | 国产999精品久久久 日本视频一区二区三区 | 天天干干 | 国产精品福利在线观看 | 亚洲精品天堂 | 国产精品视频一二三 | 国产视频中文字幕 | 久久精品国产免费一区二区三区 | 亚洲日本欧美日韩高观看 | 一区二区在线 | 国产亚洲一区二区精品 | 欧美亚洲国产日韩 | 黄色日批视频 | 欧美色综合一区二区三区 | 亚洲视频中文字幕 | 黄网站在线观看 | 7777在线视频免费播放 | 麻豆av一区二区三区久久 | 天天看天天爽 | 色综合久| 91视视频在线观看入口直接观看 | 亚洲欧美激情四射 | 国产精品视频网址 | 久久精品国产精品青草 | 超碰97在线免费 | 黄a网站 | 国产精品久久久久久久久久久久久久 | 可以在线看的黄色网址 | 亚洲视频在线看 | 99免费 | 亚洲一区视频在线播放 | 国产伊人精品 | 盗摄精品av一区二区三区 | 91欧美精品成人综合在线观看 | 国产精品一区二区三区在线 | 99在线国产|