在我的wordpress 3.9.0安装中,我在管理用户输入的文本格式方面遇到了一些问题。默认行为是在HTML和文本模式之间切换时删除<p>
标记和<br>
标记。我发现了一些旧问题,暗示要安装Tinymce高级插件,我照做了。
因此,在这一点上,文本完全按照我想要的方式进入数据库(我在phpmyadmin中验证了这一点)。如果它有双<br>
,它会保留双<br>
。此外,当文本被显示给访问者时,双<br>
保持为双<br>
。
但是,当我将文本重新加载到编辑器中时,每个双<br>
都会转换为<p>
标记。这简直令人讨厌。我尝试了许多插件,还用remove_linebreaks
、convert_newlines_to_brs
和remove_redundant_brs options
更改了tinymce配置文件,但都无济于事。
我很确定wordpress通过一些过滤器发送数据库内容,但我不知道它们是哪一个。对于前端,我可以使用
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
但这对管理部分没有影响。
谢谢,数字
请尝试
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
我希望这将有助于