如何在WordPress 4.9可视化编辑器中允许thead和th标签并避免切换时被移除
解决WordPress 4.9可视化编辑器中thead/th标签被自动移除的问题
嘿,我刚好处理过WordPress 4.9里这个thead/th标签被编辑器“吃掉”的问题,给你几个亲测有效的解决方案:
方案一:通过主题functions.php添加过滤规则
WordPress的TinyMCE可视化编辑器有一套默认的标签白名单,thead和th不在默认名单里,所以切换模式时会被过滤掉。我们可以通过代码扩展这个白名单:
- 登录WordPress后台,进入「外观」→「主题编辑器」
- 在右侧找到并打开
functions.php文件(重要:先备份文件再修改,避免代码错误导致网站无法访问) - 将以下代码粘贴到文件末尾:
function allow_table_head_tags($init_array) { // 声明允许thead和th标签及其所有属性 $extended_valid_elements = "thead[*],th[*]"; // 合并到现有允许列表中 if (isset($init_array['extended_valid_elements'])) { $init_array['extended_valid_elements'] .= ',' . $extended_valid_elements; } else { $init_array['extended_valid_elements'] = $extended_valid_elements; } return $init_array; } add_filter('tiny_mce_before_init', 'allow_table_head_tags');
- 点击「更新文件」保存修改
之后你再在文本模式添加带thead和th的表格,切换到可视化模式再切回来,这些标签就不会被移除了。
方案二:使用适配的TinyMCE Advanced插件
如果你不想折腾代码,可以用TinyMCE Advanced插件来自定义编辑器规则,但要注意必须下载适配WordPress 4.9的旧版本(新版插件已不再支持4.9):
- 安装并激活适配版本的插件
- 进入后台「设置」→「TinyMCE Advanced」页面
- 找到「高级选项」板块,在「自定义HTML标签」中添加
thead[*],th[*] - 保存设置后,编辑器就会保留这些标签了
测试方法
你可以在文本模式输入这段测试代码,然后切换模式验证:
<table border="1"> <thead> <tr> <th>产品名称</th> <th>价格</th> </tr> </thead> <tbody> <tr> <td>示例产品A</td> <td>¥99</td> </tr> </tbody> </table>
切换到可视化模式后再切回文本模式,要是thead和th还在,就说明设置生效了。
内容的提问来源于stack exchange,提问作者Webberz
相关产品推荐
相关产品推荐

