如何在编辑器中强制<p>插入

时间:2011-11-02 作者:Zach Lysobey

EDIT 2

以下编辑有一些错误信息,请参见所选答案和注释。

EDITwas 事实上正在添加<p> 按预期标记。我使用的是get_the_content()the_content(). 显然,前者会去掉这些标签,只留下一块文本(这仍然让我陷入困境,但我相信我会想出办法的)

后续问题:我是否应该删除此问题?或者这种东西对搜索有帮助吗。。。。?

当我将不同来源的文本粘贴到wordpress(tinyMCE)内容可视化编辑器中时,我得到了不同的结果。具有讽刺意味的是,当从MSWord粘贴时,它的工作方式是我想要的,但当从记事本(或其他网站,或记事本++)粘贴时,它的工作方式不是我想要的。

理想情况下,我希望任何粘贴的文本都能被包装起来<p> 标记(基于换行符)和其他添加了最小标记的标记。

这里的大问题是<p> : 换行符问题。我希望客户端能够粘贴几段文字,并能够设置边距和填充,以使其看起来很好。

这一定是一个很正常的期望,我很惊讶我在这方面遇到了困难,因为我之前已经建立了几个WP站点,但没有注意到这个问题。

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

方便用户在外部编辑器中编写内容,然后将其复制/粘贴到WordPress编辑器中,这是一种根本不好的方法,并且充满了问题。WordPress编辑器旨在使用to write content. 您应该培训用户使用post editorwrite content, 而不是将其用作从其他编辑器粘贴内容的容器。

当我将不同来源的文本粘贴到wordpress(tinyMCE)内容可视化编辑器中时,我得到了不同的结果。

这是因为WordPress不是用于将内容复制粘贴到编辑器中,而是用于使用编辑器write 内容。

具有讽刺意味的是,当从MSWord粘贴时,它的工作方式是我想要的,但当从记事本(或其他网站,或记事本++)粘贴时,它的工作方式不是我想要的。

这是因为WordPress包含了一个来自Word按钮的黑客粘贴,以安抚那些坚持无意中使用WordPress post编辑器的人。

这里最大的问题是:换行符问题。我希望客户端能够粘贴几段文字,并能够设置边距和填充,以使其看起来很好。

段落标记由输出过滤器自动添加。如果需要调整段落的样式,应该通过CSS来调整,而不是在post editor中。

这一定是一个很正常的期望,我很惊讶我在这方面遇到了困难,因为我之前已经建立了几个WP站点,但没有注意到这个问题。

主要的事情是确保复制粘贴的内容实际上有新行,以便WordPress可以在适当的地方添加段落标记。

EDIT

我使用的是get_the_content()the_content(). 显然,前者会去掉这些标签,只留下一段文字(这仍然让我陷入困境,但我相信我会想出办法的)

事实上,不是这样的get_the_content() 剥离<p> 标签,而是<p> 标签是applied 通过应用于的过滤器the_content(),特别是,wpautop().

如果需要对返回的内容应用内容筛选器get_the_content(), 使用以下选项:

<?php
$some_content = apply_filters( \'the_content\', get_the_content() );
?>
将手动将所有内容筛选器应用于get_the_content().

结束

相关推荐

在TinyMCE Post编辑器中挂钩Keydown事件

我想在编辑后期管理页面的TinyMCE编辑器中挂接keydown事件。我使用以下代码成功地钩住了HTML内容编辑器:jQuery(\'#content\').keydown(function(){ alert(\"keydown\") }); 下面是我挂接TinyMCE编辑器的失败尝试。问题是编辑器还没有初始化,所以变量ed没有定义。var ed = tinyMCE.getInstanceById(\'tinymce\'); ed.onChange.add(func