我遇到了多种解决方案,它们都使用过滤器和钩子来防止tinymce 从帖子编辑器的“可视”编辑器中剥离某些元素。
我有一个插件,允许用户将自定义<span></span>
标签放入新帖子中,但是当用户切换到“视觉”标签时,tinymce 会删除他们放置的跨度标签。
我在这里有一个功能是从 2009 年开始的,它似乎不起作用。
function my_change_mce_options( $init ) {
// Command separated string of extended elements
$ext = 'span[id|name|class|style]';
// Add to extended_valid_elements if it alreay exists
if ( isset( $init['extended_valid_elements'] ) ) {
$init['extended_valid_elements'] .= ',' . $ext;
} else {
$init['extended_valid_elements'] = $ext;
}
// Super important: return $init!
return $init;
}
add_filter('tiny_mce_before_init', 'my_change_mce_options');
我尝试将其添加到我的插件核心文件中,但不起作用。显然,新版本的 tinymce 没有这样做,但出于稳定性原因,我猜 WordPress 3.7.1 仍在使用旧版本。
有任何想法吗?