我有一个wp_editor();
在我的插件设置页面上。
我还启用了TinyMCE中的“字体大小”下拉列表。
在中突出显示文本后wp_editor();
并从编辑器的下拉菜单中选择字体大小,可以适当调整字体大小(直接在编辑器中)。
但是,在使用保存我的插件设置后update_option();
插件设置页面将重新加载。。。这个<span style="font-size: 18px;">highlighted text</span>
已删除,只剩下“突出显示的文本”,没有span标记将其包装以调整字体大小。
我试着调查wp_editor();
代码,以及add_option();
/ update_option();
代码,看看是否有某种剥离/消毒正在进行。
有什么线索为什么wp_editor();
span标记将在将其内容保存到选项时被删除?
Side note: 似乎出于某种原因,只有span标记被剥离。我只是尝试使用下划线,但也被删除了。
最合适的回答,由SO网友:Michael Ecklund 整理而成
The Problem
这是需要使用的常见情况
stripslashes();
.
How did I figure this out?
我登录到phpMyAdmin,导航到选项表,找到了我的选项名,并对其进行了编辑。
Here\'s what I discovered...
s:11:"description";s:90:"<span style=\\"text-decoration: underline;\\">This is supposed to be underlined text.</span>";
很明显,我的插件正在工作。这是在妥善保存东西。我输入的文本
wp_editor();
并且相应的HTML也在包装我的文本。
请注意自动添加的斜杠。这就是从wp_editor();
保存在我的插件选项中。
Simple Solution
使用stripslashes();
在输出选项数据之前检索选项数据这应该在输出而不是输入时进行