WordPress会自动添加“ ”吗?


12

我不确定是wordpress本身还是正在做的Tiny MCE。但是,当在HTML和Visual编辑器之间切换时,它会添加 ,并且每次我来回切换时都会添加一个额外的内容。我什至没有代码中的换行符,似乎在某种程度上决定了它要基于我的html代码中的标记来放置它们。

是什么原因造成的,我该如何解决?

我已经在模板功能文件中尝试过此操作:

//disable auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Remove auto formatting
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');

2
当您切换标签时,它实际上是在自动执行此操作,我也注意到了这一点,并发现它很烦人。尚无关于如何解决它的线索...
Joost de Valk

1
我几乎只使用HTML编辑器,将代码粘贴在BBEdit中。当我保存WP时,对我来说似乎是这样做的。
再见堆栈交换,

好吧,我也有这个问题。当我手动发布并单击输入按钮时,它将为我添加段落。这在我安装了微型MCE之后发生。无论如何,这是什么意思:过滤tiny_mce_init,以覆盖默认的内容过滤规则

1
我在循环中的帖子标题上发生这种情况。似乎是不加区别的(仅在某些帖子的某些空格字符上出现)。
Drewdavid '16

我设法找到了解决此问题的简单方法:wordpress.stackexchange.com/a/291746/135285
AturSams,

Answers:


2

我所使用的只是remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' );阻止Wordpress创建任何额外的标记。您是否正在从外部编辑器复制和粘贴代码?


4
没有为我工作。如果没有,只是在每个HTML“更新”用微小的MCE还增加了新的 小号
基督教

3
也对我不起作用
sidonaldson

4

我发现一段时间后使用两个空格时会插入不间断空格。编辑器似乎将多余的空间解释为我自己尝试使用空间进行文本格式设置。

如果我将我的文章从Wordpress编辑器复制并粘贴到支持十六进制显示的文本编辑器中(我使用EditPad Pro),我会发现实际上以为句号后跟两个空格的文本实际上是文本,然后是单个空格,后跟带有十六进制代码A0的Unicode字符,它是Unicode NO-BREAK SPACE字符。

我可以通过将空格后跟NO_BREAK SPACE字符替换为一个空格来删除现有文章中的不间断空格。在大多数文本编辑器中,您应该能够通过将“两个空格”复制到“查找”文本框中并将单个空格写入“替换”文本框中来进行搜索和替换。

通过在一段时间后仅键入一个空格,我可以避免出现此问题。


3

是什么原因造成的,我该如何解决?

添加到您的帖子内容中或从tiny_mce_init其中删除的任何内容都是由引起的,这是应用的内容过滤规则。

防止它的方法是:

  1. Filter tiny_mce_init,以覆盖默认的内容过滤规则
  2. 停止在Visual和HTML编辑器之间切换。真; 除非您想使用上面的选项#1,否则不要在编辑器之间切换。WordPress的目的是使内容使用VisualHTML编辑器输入,但不能同时输入。

tiny_mce_before_init在食典中使用过滤器的示例。这里的CodexTinyMCE配置/自定义的另一个示例。


11
我很确定您的第二个答案是错误的。那个或有人在UI上“拧动了狗”。如果只打算将编辑器用作Visual或HTML,为什么根本没有选项卡?为什么不将它作为设置下的一种选择来以一种或另一种方式使用呢?更进一步,这些选项卡默认情况下位于其中……这不是您必须设置的某些开发人员高级功能或选项。我很确定他们的目标用户希望能够在它们之间来回点击,真正的问题是有时他们不能很好地协作。(尤其是在空间格式化的情况下)
luckykind 2011年

1
@luckykind不,他们不打算在他们之间来回切换。那只是TinyMCE的架构问题。这不是唯一的一个
kaiser

3
您不能告诉我,提供选项卡以在HTML和可视化编辑之间来回切换的UI并不是要使用这种方式。快到2016年了,问题仍然存在。
埃里克·J.

1
我认为本来不打算打开计算机,但是由于它具有电源按钮,因此我们将其打开了,因此所有问题都是用户的错。设计和代码显然是完美无缺的。
AturSams

1

我正在将Wordpress用于希伯来语博客。

解决方法:将文本复制到诸如sublime或notepad ++之类的编辑器中,然后搜索并替换为普通空格。您可以从文本中复制其中之一。

免责声明:这并不是一个答案,而更多的是解决方法,请随时投票。对我来说,Wordpress很乐意在各处添加nbsp,而没有韵律或理由。不知道是什么原因造成的。希伯来语文本经常发生这种情况,比任何英文文本都多。


0

如果有人在2020年仍然坚持使用此方法。在将大量内容迁移到Wordpress之后,我们遇到了这个问题。猜猜是什么,每个人都做了复制和粘贴的事情,我们最终得到了太多的内容,无法手动修复。我实现了下面的php函数,并将其添加到functions.php中,它为我们解决了这个问题。

    function replace_content($content) {
        $content = htmlentities($content, null, 'utf-8');
        $content = str_replace(" ", " ", $content);
        $content = html_entity_decode($content);
    return $content;
    }
    add_filter('the_content','replace_content', 999999999)

999999只是为了确保此过滤器最后运行,以防它们 被添加到中间的某个位置。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.