WordPress, 實用技巧

Contact Form7 表單中文網址轉換處理

Contact Form7 表單中文網址轉換處理

[_url] 為傳遞當前表單網址

使用 Contact Form 7(CF 7) 表單插件的 WordPress 網站,當表單中需要傳遞含有中文字符的網址時,正確解碼這些中文字符尤其關鍵。這不僅有助於改善使用者體驗,也讓電子郵件通知中的網址可以被正確閱讀和點擊。本文將介紹一種透過自訂函數解碼 CF 7 表單網址中的中文字符的方法,讓您能夠在電子郵件通知中顯示正確的中文網址。

運作原理

我們將使用 add_filter() 函數來新增一個過濾器,這個過濾器會攔截 CF 7 表單通過特殊郵件標籤 [_url] 傳遞的網址。接著,透過自訂的 custom_urldecode 函數,我們會檢查傳遞的標籤名稱,若該名稱為 _url(注意,我們在這裡去除了方括號),則對其進行 URL 解碼操作。

add_filter('wpcf7_special_mail_tags', 'custom_urldecode', 10, 3);
function custom_urldecode($output, $name, $html) {
    if ('_url' == $name) { // 注意這裡去掉了方括號
        $output = urldecode($output);
    }
    return $output;
}

操作步驟

  1. 將上述程式碼複製。
  2. 進入 WordPress 後台,導航至「外觀」>「主題編輯器」。
  3. 在佈景主題的 functions.php 檔案中,貼上此段程式碼。
  4. 儲存更改。

透過上述步驟,當 CF 7 表單通過 [_url] 特殊郵件標籤傳遞含有中文字符的網址時,這些中文字符將被正確解碼,從而在電子郵件通知中正確顯示中文網址,無需擔心網址因為編碼問題而無法使用或閱讀。此方法免去了尋找和安裝額外外掛的麻煩,且不會因為外掛更新而受到影響,提供了一個穩定且高效的解決方案。使用 Code Snippet 或者修改佈景主題資料夾下的 functions.php 加入以上程式碼就可以達成,我推薦用這種方式達成,可以替換成任何想要的文字而且不受限於 WordPress 外掛更新。

Need help?

需要幫忙?

代客處理服務區塊

我們提供相關技術支援服務

或許您對於此文章的功能或解決方式不熟悉,需要專業的技術人員為您協助。我們提供「收費代客處理」服務,歡迎隨時與我們聯絡。