WordPress用Classic Editor切换TinyMCE标签丢失<br><p>标签如何解决?
解决方案配置步骤
配置前注意事项
- 修改前请完整备份网站主题文件、数据库,避免操作失误导致站点异常
- 以下代码均添加到当前启用主题的
functions.php文件末尾,或自定义代码片段插件的代码编辑区
核心配置代码
该配置通过修改TinyMCE编辑器的初始化参数,禁用自动格式化、自动清理标签的规则,实现手动添加的<p>、<br>标签保留:
// 保留TinyMCE编辑器中的手动p、br标签 add_filter('tiny_mce_before_init', 'custom_tinymce_preserve_tags'); function custom_tinymce_preserve_tags($init) { // 禁止自动移除空标签 $init['remove_empty'] = false; // 禁用编辑器自带的自动换行转换 $init['wpautop'] = false; // 取消默认的根块标签自动包裹 $init['forced_root_block'] = false; // 明确指定p、br为不受清理的合法标签 $init['extended_valid_elements'] = 'p[*],br[*]'; // 禁止自动清理换行符 $init['remove_linebreaks'] = false; $init['convert_newlines_to_brs'] = false; return $init; } // 禁用前端输出的自动换行格式化,保持前后端展示一致 remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop');
配置验证步骤
- 添加代码后清空网站缓存、浏览器缓存
- 进入文章编辑页,在「文本」标签页手动添加
<br>、<p>标签 - 切换到「可视化」标签页再切回「文本」标签页,确认标签不会被自动删除
- 发布文章后查看前端展示,确认标签效果符合预期
特殊情况处理
如果配置后问题仍存在,按以下步骤排查:
- 临时禁用其他编辑器扩展、内容格式化类插件,排查插件冲突
- 确认修改的是当前正在启用的主题的
functions.php文件;若主题存在定期升级的情况,可将代码放到自定义功能插件中避免升级被覆盖
内容的提问来源于stack exchange,提问作者vukk2021
相关产品推荐
相关产品推荐

