• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > CMS教程 > 其他CMS教程 >

WordPress自带TinyMCE编辑器使用技巧大全完整版

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-09点击:

自从用上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>WordPress网站优化之家</h4>";

$content.= "这里的预定义内容在编辑器可见<a href='http://www.***.com'>WordPress网站优化之家</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>WordPress网站优化之家</h4>";

$content.= "这里的预定义内容在编辑器可见<a href='http://www.***.com'>WordPress网站优化之家</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');

1

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ