WordPress 默認會自動轉義一些字符,比如單引號(' 源碼顯示')、雙引號("源碼顯示"),也稱“轉換全半角標點符號”或者“代碼轉義”。因為 WordPress 會將源代碼中的所有半角符號自動修正為全角符號,以防止外部源代碼在網頁上執行。那么如何防止英文字符轉義成中文字符?接下來詳細分享。
解決方法如下:
一、禁用所有的 WP 轉義
Wordpress 自帶一個專一的鉤子wptexturize,很多地方都用到了這個鉤子,具體可以在wp-includes/formatting.php中查看。我們可以在WordPress主題的functions.php文件中添加以下代碼來取消掉這個轉義:
add_filter( 'run_wptexturize', '__return_false' );
二、調用remove_filter函數來移除wordPress對wptexturize的調用
這是最簡單的方法,在主題目錄下的functions.php文件中添加如下代碼即可:
//取消網站標題轉換
remove_filter('the_title', 'wptexturize');
//取消博客標題轉換
remove_filter('wp_title', 'wptexturize');
//取消網站摘要轉換
remove_filter('the_excerpt', 'wptexturize');
//取消正文內容轉換
remove_filter('the_content', 'wptexturize');
//取消文章標題轉換
remove_filter('single_post_title', 'wptexturize');
//取消評論內容轉換
remove_filter('comment_text', 'wptexturize');
//取消評論作者轉換
remove_filter('comment_author', 'wptexturize');
//取消分類描述轉換
remove_filter('category_description', 'wptexturize');
//取消側欄標題轉換
remove_filter('widget_title', 'wptexturize');
//取消側欄內容轉換
remove_filter('widget_text', 'wptexturize');
//取消友鏈描述轉換
remove_filter('link_description', 'wptexturize');
三、安裝Quotmarks Replacer插件
Quotmarks Replacer 是一個通過禁用 wptexturize 函數,解決 WordPress 自動將半角的單引號、雙引號和省略號轉換為全角符號的問題。使后臺輸入的標點格式與HTML源代碼的標點格式保持一致的插件。
我們將上面的腳本添加到當前主題目錄下的functions.php文件中,就可以過濾到標題、內容、評論、摘要等大部分位置源代碼半角轉換成全角符號的問題。不過,我們并不需要所有的位置都禁止轉換,可以根據有需要的轉換復制相應代碼即可。