自從用上WordPress以來我不知道換了多少個后臺編輯器了,從FCKEditor到CKeditor,甚至還有一些名不見經傳的 CodeRenderUnmi和WLW、FE editor等等,用來用去發現有些功能確實強大,但是要想用著順手就必須修改很多東西,而且一旦WordPress或者插件本身自己升級,那些修改過的 東西就必須重新再設置一遍,相當麻煩;要不就是一些離線的編輯器,復制來粘貼去的也很費心。到現在,我依然覺得,wordpress模板自帶的編輯器才是 最強 大且實用的!
正所謂“自此精修,漸進于無劍勝有劍之境”,拋開那些個浮夸的編輯器,回到WordPress自帶的TinyMCE編輯器上來,要知 道,WordPress自身也在不斷的強大,每一次升級對自帶編輯器的改動都是很實用的,不僅將多媒體功能融合到了一起,而且給人的感覺是越來越干凈利 落,從此我們也可以看到官方對自帶編輯器TinyMCE的重視程度。下面我將我自己對自帶編輯器TinyMCE的修改方法貼出來,所有代碼只需寫到主題里 的functions.php文件里,即使日后升級WordPress也不需要重復操作。
更改編輯器默認視圖為HTML
大家都知道,在后臺新建文章后,編輯器就自動跳轉到“可視化”視圖,對于一些經常要插入代碼或者WEB設計者們來說(我就是^_^),可能更習慣使 用HTML視圖手動編輯。而且,像CKEditor在可視化視圖下編輯本來沒有<p>或<div>標簽,但切換到HTML視圖之 后就會自動添加,當然這是CKEditor的自動設置無可厚非,但是在日后想要重新編輯一篇發表過的文章時就會頭疼了,因為CKEditor會自作多情的 生成很多冗雜或混亂的代碼,保持代碼的干凈整潔非常不便(當然你要想湊合著用也不會對實際顯示效果有很大改變,但會對網頁結構減分)。
設置方法:將以下代碼添加到主題的functions.php文件里即可:
add_filter('wp_default_editor', create_function('','return "html";'));
添加編輯器默認內容(編輯器內可見)
新建文章后編輯器里的內容默認是空的,有些朋友做的是wordpress主題站、插件站或單純的下載站,一些標準的格式化的文章每次都會輸入“主題 名稱”、“主題作者”、“下載地址”等內容,添加默認內容之后,這些重復性的工作以后再也不用了,一切都預定義好了。而且如果發表文章不需要這些預定義的 內容,只需要全選-Delete就ok了,并不會很麻煩。
設置方法:在主題functions.php文件添加以下代碼即可:
function insertPreContent($content) {
if(!is_feed() && !is_home()) {
$content.= "<div class='wpohome'>";
$content.= "<h4>CMS集中營</h4>";
$content.= "這里的預定義內容在編輯器可見<a >CMS集中營</a>";
$content.= "</div>";
}
return $content;
}
add_filter ('default_content', 'insertPreContent');
添加編輯器默認內容(編輯時不可見)
此方法添加的內容在發布文章時自動添加在內容的最后,在編輯的時候是看不見的,用于添加訂閱、文章版權信息等等。
設置方法:在主題functions.php文件添加以下代碼即可:
function insertFootNote($content) {
if(!is_feed() && !is_home()) {
$content.= "<div class='wpohome'>";
$content.= "<h4>CMS集中營</h4>";
$content.= "這里的預定義內容在編輯器可見<a >CMS集中營</a>";
$content.= "</div>";
}
return $content;
}
add_filter ('the_content', 'insertFootNote');
添加更多的HTML標簽(慎用)
此功能請慎用,因為WordPress自帶的TinyMCE編輯器會默認過濾掉不符合XHTML 1.0中的html標簽,如《br /》、《iframe》等。但不排除某些情況下也可能會用到這些標簽,所以把方法放出來供大家參考吧。
添加方法:將以下代碼粘貼到主題的functions.php文件里即可:
function fb_change_mce_options($initArray) {
$ext ='pre[id|name|class|style],iframe[align|longdesc|
name|width|height|frameborder|scrolling|marginheight|
marginwidth|src]'; //注意:格式為“標簽一[屬性一|屬性二],標簽二[屬性一|屬性二|屬性三]”
if ( isset( $initArray['extended_valid_elements'])) {
$initArray['extended_valid_elements'].= ','. $ext;
} else {
$initArray['extended_valid_elements'] = $ext;
}
return $initArray;
}
add_filter('tiny_mce_before_init','fb_change_mce_options');
以上就是本文章的全部內容,希望對你們有所幫助。
新聞熱點
疑難解答