如何禁用TinyMCE删除跨度标签


10

我正在通过XMLRPC将Word生成的HTML发布到WordPress。在转到post.php之前,该格式已正确保存在数据库中。TinyMCE发挥了魔力,我失去了很多格式化细节。
我看到的主要问题<span>是剥离了带有围绕其他元素的样式信息的标签。我已经证实这些标签确实是由TinyMCE而非Kses删除的。有没有办法防止TinyMCE更改HTML?我努力了

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
$init['verify_html'] = false;
    return $init;
}

这没有帮助。根据TinyMCE 文档,“ verify_html”

此选项启用或禁用元素清除功能。如果将此选项设置为false,则将跳过所有元素清除,但仍将执行其他清除功能,例如URL转换。

Answers:


6

extended_valid_elements在TinyMCE Advanced的设置面板中找不到该选项,但是将以下内容添加到我的functions.php解决方法中:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

资源


4

我几乎总是使用TinyMCE Advanced插件-有一个管理页面(Settings-> TinyMCE Con​​fig),您可以使用该extended_valid_elements选项添加受支持的标签。只需添加span以及您不想删除的任何其他标签,就可以享受!


谢谢,TinyMCE Advanced与我上面的代码完全一样,添加了extended_valid_elements。但我会用插件。也许我的代码中有一些错误。
ltfishie

安装并尝试-如果可以,那么问题出在您的代码上。如果不是这样,那么在插件或主题级别将覆盖其他内容。
SickHippie

2
我找不到最新版本的TinyMCE Advanced中要添加元素的位置
Nicola Peluchetti

这并不奇怪,因为该职位已有3 1/2年的历史。
SickHippie 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.