TinyMCE在按回车键时复制上一个块元素(可视化编辑器)

时间:2013-01-31 作者:Pete

这简直是疯了。无法确定这是否是正常行为。

我添加了一个过滤器来重写要使用的图像插入<figure><figcaption>. 效果很好。

但是,当我在视觉视图中插入图像并按return键时,我希望它开始一个新段落。

相反,它会创建另一个<figure> 元素,并在其中放置下一行文本。

切换到文本视图时生成的代码示例:

<figure class="alignnone">

<a href="path/to/image.jpg"><img class="alignnone size- wp-image-209" src="path/to/image.jpg" width="199" height="43" /></a>

<figcaption>Image Caption</figcaption>

</figure>

<figure class="alignnone"`>This should be a new paragraph but is inside a figure tag.</figure>
有什么方法可以阻止tinyMCE复制之前的块元素吗?我知道如果你把一些文本设置为<h2> 然后按return返回下一行默认值<p>. 这就是我想要的行为。

4 个回复
SO网友:Ryan Gannon

我现在也有同样的问题。这是我的工作。

add_filter( \'tiny_mce_before_init\', \'workaround\' );
public function workaround( $in ) {
    $in[\'force_br_newlines\'] = true;
    $in[\'force_p_newlines\'] = false;
    $in[\'forced_root_block\'] = \'\';
    return $in;
}
tiny\\u mce\\u before\\u init允许您访问WordPress编辑器使用的TinyMCE设置。另请参见:TinyMCEConfiguration

这样做的缺点不是“返回”,而是导致p 而是给你一个br. 我试过扭转force_br_newlinesforce_p_newlines 但这导致了最初的问题。希望这能有所帮助。

SO网友:Imre

我也有同样的问题,但在Wordpress中没有。无论如何,我强制“p”块在“p”标记之间获取内容。正因为如此,当我点击返回按钮并将内容保存到DB中时,TinyMce复制了“p”标记。此外,我再次保存它时,它会一直复制标记。我的解决方案进入初始化:

force_br_newlines: true,
force_p_newlines: false,
forced_root_block: \'p\',
invalid_elements: \'p\',
最重要的是无效的\\u元素。这里必须列出“p”标签。在此设置之后,我的代码不再复制“p”标记。希望你的也会这样做。

SO网友:musicvicious

您可以设置keep_styles 选项到false 在初始化时。

当用户按enter/return时,此选项将保持编辑器的当前文本样式。

tinymce.init({
  selector: \'textarea\',  // change this value according to your HTML
  keep_styles: false
});
摘自docs

SO网友:Imre

这是另一个版本的解决方案。我必须写一个新的,因为前一个还可以,但它不适用于所有其他设置。此解决方案停止复制p 在新行和标题后添加标签,但只添加一个简单的br 在段落之间添加标记。

forced_root_block: \'p\',
force_p_newlines: false,
force_br_newlines: false,
extended_valid_elements: \'-p\',
我使用extended\\u valid\\u元素,因为我不想重新定义默认设置,只需定义有效元素的一个值。p和其他设置的含义是here.

Note 使用此设置,您将在编辑器中的文本元素之间看到更大的视觉空间。

结束

相关推荐

如何在TinyMCE编辑器中添加快捷码按钮?

如何在wordpress帖子中制作插件图标?我想在插件代码中插入的代码将出现在贴吧[wp admin/post.php]中。如下图所示:输出:如果单击图标,它会自动写入[plugin] 对于以下帖子内容: