這裡介紹如何取消 WordPress 自動將兩個減號轉換為破折號,讓部落格中的程式碼正確顯示。

在 WordPress 中撰寫文章時,WordPress 內部預設會將兩個減號轉換為破折號,這對於一般的部落格而言事一件很方便的事,但是在某些情況下,這個功能可能會讓文章的內容出錯,例如張貼程式碼時,類似 --a 這樣的程式碼經過轉換後,就會有問題。


如果您的部落格時常需要張貼這樣的內容,就可以把這樣的功能關掉,最簡單的方式就是增加一個小小的 WordPress 外掛,將轉換後的破折號再轉回來,以下是操作步驟。

打開文字編輯器,建立一個 PHP 檔,內容如下:

<?php
/*
Plugin Name: Un-double the dash
*/

add_filter( 'the_content' , 'mh_un_en_dash' , 50 );
function mh_un_en_dash( $content ) {
        $content = str_replace( '&#8211;' , '--' , $content );
	$content = str_replace( '&#8212;' , '--' , $content );
        return $content;
}
?>

將這個檔案儲存為 un-double-dash.php,然後將這個檔案放進 WordPress 的外掛目錄(wp-content/plugins)中,然後再從 WordPress 中啟用這個外掛就可以了。

如果您不想使用 FTP 上傳,還有另外一種方式可以新增這個外掛,就是將 un-double-dash.php 這個檔案使用任意的壓縮軟體(例如 7zip)壓縮成 zip 檔,然後打開這個網址:

http://您的部落格網址/wp-admin/plugin-install.php?tab=upload

這個網址是可以上傳外掛到自己 WordPress 部落格的頁面,將壓縮好的檔案上傳上去,再啟用這個外掛即可。

這個外掛會在 WordPress 中新增一個 filter,將 Em Dash U+2014&#8212;)與 En Dash U+2013&#8211;)兩個字元轉換為兩個 Hyphen-Minus U+002D,這樣我們在張貼類似 --a 這樣的程式碼時,就不會受到影響。

這樣的做法雖然修正了程式碼的問題,但是它會讓 Em Dash 與 En Dash 兩種字元強制轉為兩個減號,這點請注意一下,如果感覺不影響的話,再考慮使用這樣的方式。

參考資料:WordPress