WordPress自定义选项页中wp_editor未显示在表格单元格内的问题
WordPress自定义选项页中wp_editor跳出表格的问题解决
我之前也碰到过这个问题,其实原因很简单——wp_editor()函数默认是直接输出内容,而不是返回字符串。你现在的代码里把它放在echo的字符串拼接中,它会优先执行输出操作,等它把编辑器内容打印完,才会继续输出表格的HTML,自然就跑到表格上方了。
下面给你两种可行的解决办法:
方法一:修改wp_editor的输出设置
在你的$settings数组里加入'echo' => false参数,让函数返回HTML字符串而不是直接输出。这样就能正常把编辑器内容嵌入到表格单元格的字符串拼接里了。
修改后的settings代码:
$settings = array( 'wpautop' => false, 'textarea_name' => $editor_id, 'echo' => false // 新增该参数,让函数返回字符串 );
修改后,你原来的表格单元格代码就可以正常工作了,因为wp_editor()现在会返回编辑器的HTML代码,能正确被包含在<td>标签内。
方法二:拆分输出逻辑
如果不想修改settings参数,也可以拆分输出步骤,把wp_editor()的调用从echo拼接里单独拿出来,放在<td>标签之间:
修改后的表格行代码:
echo '<tr>'; echo '<th scope="col">Content</th>'; echo '<td>'; // 直接调用wp_editor,它会输出在当前的<td>标签内 wp_editor( $get_settings[$editor_id] , $editor_id, $settings ); echo '</td>'; echo '</tr>';
这样编辑器会在<td>标签被输出后才执行输出,自然就会出现在表格单元格里了。
内容的提问来源于stack exchange,提问作者danyo
相关产品推荐
相关产品推荐

