如何在WordPress中为现有textarea添加wp_editor富文本编辑器
错误说明
wp_editor()本身会输出完整的编辑器结构,包含textarea标签,手动包裹textarea会导致重复标签、编辑器无法正常初始化- 你将
esc_textarea( $post->prop( 'form' ) )放在单引号中当成字符串传入,而非实际的变量值,导致编辑器内容显示异常 - 代码存在语法错误,配置数组后缺少闭合的右括号,触发PHP解析报错
- 另外
wp_editor内部已经处理了内容转义,不需要额外调用esc_textarea处理传入内容
正确实现代码
<?php wp_editor( $post->prop('form'), // 编辑器初始内容 'form', // 编辑器ID,同时默认作为表单提交的name属性 [ 'teeny' => 0, 'tinymce' => 1, 'textarea_name' => 'form' // 显式指定表单提交的字段名,兼容性更好 ] ); ?>
补充说明
- 提交表单后获取编辑器内容直接取
$_POST['form']即可,保存到数据库前根据你的业务场景做对应安全过滤 - 可在配置数组中添加
editor_height、media_buttons等参数自定义编辑器样式和功能,比如设置'media_buttons' => false可以隐藏媒体上传按钮
内容的提问来源于stack exchange,提问作者TravaU'Doma
相关产品推荐
相关产品推荐

