讓 WordPress 啟動在 Text/HTML 文字編輯模式

在之前的「添加 WordPress 裡的 blockquote 引言樣式」當中,加添了幾個引言樣式,偶而想到些什麼就會回頭再做些修改。這時問題來了,TinyMCE 文書編輯器預設是啟動在「預覽模式」(WYSIWYG所見即所得),而這些自訂的 CSS 樣式,一進到預覽模就破功,全數歸零回到一般內文樣式。

例如,我想完成上圖有左邊框的引言樣式,在「預覽模式」做好一般引言,切換到「文字模式」修改成左框引言(下圖),得到的結果是正確的,就是上圖。

但是,再次切換回「預覽模式」,樣式就消失了,這是詛咒啊!(下圖)

它砍了,我又得救回來,這可麻煩了,不能讓這些已發表的筆記,在重新編輯時是預設進入「文字模式」(Text/HTML)來編輯 HTML 源碼嗎?

查看了 WordPress 相關文件,發現是 /wp-content/themes 主題中的 functions.php 在負責這個,翻查了一些資料,前輩們貼出來的程式碼太高深了:

add_filter('wp_default_editor', create_function('', 'return "html";'));

我比較能理解的 PHP 函數語法應該是這麼寫的(真是死腦筋):

function functionName() {
code...;
}
functionName()

開始搜尋相關文件裡使用類似語法來說明的,終於找到一篇我看得懂的了:

Set Default Editor Mode (TinyMCE / HTML) in WordPress

function set_default_editor() {
  $r = 'html';
  return $r;
}
add_filter( 'wp_default_editor', 'set_default_editor' );

感謝前輩,那就把這段程式碼放進 twentyten/functions.php,這樣就不用再玩你砍我救的遊戲了。

然而,由於之前建立過子主題(參閱:將新添加的 blockquote 引言樣式,移置 child 子主題),就直接在我的 twentyten-child 子主題裡建立一個新的 functions.php 吧!更簡潔明瞭,而且往後要套用到別個主題也更方便。

搞定。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *