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