如何使用自定義函數將 WooCommerce 商店頁面重定向到首頁

在經營電子商務網站時,有時我們可能需要根據業務需求將 WooCommerce 的商店頁面(/shop)自動重定向到網站首頁。這可以是暫時性的調整,例如網站維護或促銷活動,也可以是長期策略的一部分。

在這篇文章中,我將分享如何使用簡單的自定義函數來實現這個功能,並確保它能在 WooCommerce 中正常運作。

為什麼要重定向商店頁面?

重定向商店頁面的原因有很多種:

  • 促銷活動:你可能正在推廣特定的產品或活動,並希望訪問者首先看到首頁的促銷內容,而不是直接進入商店頁面。
  • 網站維護:如果你的 WooCommerce 商店頁面正在進行維護或升級,將流量重定向到首頁可以提供更好的用戶體驗,避免顯示錯誤信息或空白頁面。
  • 網站策略:有些情況下,你可能希望改變用戶的瀏覽路徑,讓他們先通過首頁進入商店頁面,這樣可以提高用戶的參與度。

實現方法

我們可以通過在主題的 functions.php 文件中添加自定義函數來實現這一需求。以下是具體的步驟:

1. 添加自定義重定向函數

首先,打開你的 WordPress 主題目錄,找到並編輯 functions.php 文件。在文件的底部添加以下代碼:

add_action('template_redirect', 'redirect_shop_to_homepage');
function redirect_shop_to_homepage() {
   // 檢查當前頁面是否是 WooCommerce 商店頁面
   if (is_shop()) {
       // 重定向到首頁
       wp_redirect(home_url());
       exit;
   }
}

2. 解釋代碼

  • add_action('template_redirect', 'redirect_shop_to_homepage');:這行代碼將我們自定義的 redirect_shop_to_homepage 函數掛載到 WordPress 的 template_redirect 鉤子上。這意味著當 WordPress 準備渲染模板時,我們的函數將被觸發。
  • is_shop():這是 WooCommerce 提供的條件標籤,用來檢查當前頁面是否是商店頁面。如果該頁面是商店頁面,函數將繼續執行。
  • wp_redirect(home_url());:如果條件為真,這行代碼將訪問者重定向到網站的首頁。home_url() 函數返回網站的首頁 URL。
  • exit;:這行代碼確保在重定向後停止執行剩餘的代碼,防止不必要的資源浪費。

3. 測試效果

完成上述步驟後,保存 functions.php 文件並重新整理你的網站。嘗試訪問 /shop 頁面,如果重定向正常運行,你將會自動被引導至首頁。

4. 注意事項

  • 清除快取:如果你使用了快取外掛或伺服器端快取,請記得清除快取,確保你的變更立即生效。
  • 確認 WooCommerce 商店頁面設置:確保 WooCommerce 的商店頁面正確設置為 /shop。你可以在 WooCommerce 設置中的「產品」頁面選項下查看和確認商店頁面。
  • SEO 考慮:如果這個重定向是長期的,請考慮使用 301 永久重定向來通知搜索引擎這一變更。你可以將重定向函數改為 wp_redirect(home_url(), 301);
瀏覽次數:9