我在函數中添加了代碼.php如果用戶嘗試訪問任何Woocommerce頁面,則可以將用戶重定向到“我的帳戶”頁面。add_action( 'template_redirect', 'wc_redirect_non_logged_to_login_access');function wc_redirect_non_logged_to_login_access() {if ( !is_user_logged_in() && ( is_woocommerce() || is_shop() || is_cart() || is_checkout() ) ) { wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id')) ); exit();}}一切正常 - 用戶嘗試訪問商店頁面,他們確實被重定向到我的帳戶頁面,登錄后他們可以訪問商店。當我遷移到WP引擎時,問題就開始了?,F在,如果用戶訪問Shop頁面,被重定向到“我的帳戶”,登錄并嘗試訪問Shop - 他仍然會被重定向到“我的帳戶”。我聯系了WP引擎,他們添加了下面列出的Woocommerce緩存排除項:^/cart/^/my-account/^/checkout/^/product-category/^/product/^/wc-api/^/resetpassword/productwc-api=woocommerce_cart_hashwoocommerce_items_in_cartWp_woocommerce_session_wp-resetpass-但問題仍然存在。域通過Cloudflare,所以我免除了此路徑的緩存。所以我為/my-account/page - 緩存級別 - 繞過頁面制定了頁面規則,但問題仍然存在。以下是我的頁面規則:https://ibb.co/28k84cM之后,我做了一個小實驗,并添加了一個使用WP引擎托管的測試站點(https://residenceineu.wpengine.com/)。DNS不會通過Cloudflare。一切都在WP引擎上 - 托管和域。結果,問題并沒有消失。因此,我認為WP引擎有故障。以下是響應式標頭信息的屏幕截圖:https://ibb.co/dMwQ8t5順便說一句,當我在瀏覽器檢查設置中禁用瀏覽器緩存時,問題消失了。有趣的是,當代碼添加到函數中時.php如果首先我們訪問“我的帳戶”頁面(無需單擊“商店”頁面),然后登錄,登錄后我們訪問“商店”頁面,我們可以訪問它 - 沒有重定向,一切正常。當我們第一次訪問Shop頁面時,問題就開始了,之后被重定向到“我的帳戶”,登錄后,我們嘗試再次訪問Shop頁面。因此,總結一下 - 當我們訪問“我的帳戶”頁面,然后轉到“商店”頁面時 - 沒有緩存/重定向,一切正常。如果我們通過訪問商店頁面來執行此操作 - 重定向到我的帳戶 - 登錄 - 嘗試訪問Sho頁面=再次重定向到我的帳戶,即使已登錄也是如此。因此,考慮到所有這些因素,如果我們在沒有登錄的情況下先訪問Shop頁面,則似乎整個重定向過程都會被緩存。我正在與WP引擎支持部門聯系,但我們仍然沒有解決方案。有什么想法嗎?也許在遷移到WP引擎后,他們會自動在wp-config.php或.htaccess文件中重寫一些東西?
添加回答
舉報
0/150
提交
取消