在我的wordpress主题中,我有一个自定义选项面板,其中包含使用wordpress附带的tinymce脚本的文本区域。
在我升级到最新版本的wordpress(3.2)之前,这一切都很正常。现在编辑器仍然可以工作,但是在保存代码后,它将删除所有段落和换行标记。在将文本放入编辑器时,它看起来很棒,并在预览中显示所有换行符,但一旦保存,这些换行符都会消失。其他标签(b、img、a)似乎工作正常。
现在这可能是wordpress的一个问题,但wordpress的升级也包括了最新版本的Tinymce,因此这可能是问题的根源。
当我禁用Tinymce编辑器并使用标准textareas时,所有标记和换行符都会被保存,没有问题。
编辑:让它工作。需要在保存之前将我的输出值包装在wpautop()中。所以现在我的值是wpautop($output[$option\\u array[\'id\']);
下面是我用来启动Tinymce编辑器的代码:
<?php
wp_tiny_mce( false , // true makes the editor "teeny"
array(
\'theme\' => \'advanced\',
\'skin\' => \'default\',
\'theme_advanced_resizing\' => \'false\',
\'theme_advanced_path\' => \'false\',
\'theme_advanced_buttons2\' => \'\',
\'theme_advanced_buttons1\' => \'code,bold,italic,underline,|,justifyleft,justifycenter,justifyright,forecolor,fontsizeselect,link,unlink,image\',
\'width\' => \'650px\',
\'media_strict\' => \'false\',
\'valid_elements\' => \'*\',
\'extended_valid_elements\' => \'*\',
)
);
?>
SO网友:Steven Zahm
我不加载完整编辑器,但控制加载哪些TinyMCE插件就可以了。例如,出于我的目的,我只需要粘贴插件,因此我添加了:
\'plugins\' => \'paste\'
到阵列。
我不知道是哪个插件导致p和br标签top被删除,但通过一些尝试和错误,或者通过挖掘插件的代码,你可以找到哪个不包括在内。以下是默认加载的插件:
\'inlinepopups\', \'spellchecker\', \'tabfocus\', \'paste\', \'media\', \'wordpress\', \'wpfullscreen\', \'wpeditimage\', \'wpgallery\', \'wplink\', \'wpdialogs\'