Wordpress TinyMCE 删除锚标记,如果它们在从文本切换到视觉时包裹块元素
Wordpress TinyMCE removes anchor tags if they wrap block elements when switching from text to visual
我能够使用以下代码在后端禁用此行为:
function override_mce_options($initArray)
{
$opts = '*[*]';
$initArray['valid_elements'] = $opts;
$initArray['extended_valid_elements'] = $opts;
$initArray['valid_children'] = '+a[*]';
return $initArray;
}
add_filter('tiny_mce_before_init', 'override_mce_options');
如果我将其粘贴到编辑器中,它会起作用:
<a href="#" class="text-center text-info"><h5 class="title">Heading</h5></a>
并在不切换到可视模式的情况下按更新按钮。但是当粘贴并切换到可视模式时,编辑器会删除锚标记并单独留下 h5
。我知道有些 js 搞砸了,但我不知道是哪个文件造成的,也不知道如何防止这种行为。
我找到了一个完美的解决方案。我刚刚安装了 "Preserved HTML Editor Markup Plus" 插件,它解决了我在使用 TinyMCE 时遇到的所有问题,这些问题弄乱了我的 html 标记。
我能够使用以下代码在后端禁用此行为:
function override_mce_options($initArray)
{
$opts = '*[*]';
$initArray['valid_elements'] = $opts;
$initArray['extended_valid_elements'] = $opts;
$initArray['valid_children'] = '+a[*]';
return $initArray;
}
add_filter('tiny_mce_before_init', 'override_mce_options');
如果我将其粘贴到编辑器中,它会起作用:
<a href="#" class="text-center text-info"><h5 class="title">Heading</h5></a>
并在不切换到可视模式的情况下按更新按钮。但是当粘贴并切换到可视模式时,编辑器会删除锚标记并单独留下 h5
。我知道有些 js 搞砸了,但我不知道是哪个文件造成的,也不知道如何防止这种行为。
我找到了一个完美的解决方案。我刚刚安装了 "Preserved HTML Editor Markup Plus" 插件,它解决了我在使用 TinyMCE 时遇到的所有问题,这些问题弄乱了我的 html 标记。