让WordPress保留段首空格

Moring Dew

    最近发现我写的文章每段前面都没有空格,必须要在HTML下编辑才会出现,可视化编辑器句首空格会被直接省略,IE内核浏览器不会出现这种情况,可是其他浏览器都有这种情况,可是老师从小就教育我们要在句首空出两个空。为此我在搜索引擎上找了许多方法来解决这个问题。

第一

    在最初使用WordPress的时候,我们应该发现编辑好的文章在发布后段首是不会空两格的。而我们从小受到的教育老师就一直告诉我们文章每段的开头一定要空两格,当我们人为的空格保存后还是会被WordPress的文章编辑器取消掉空格。

    不过天无绝人之路,后来发现只有在可视化下编辑的文章才会被取消掉空格,而在HTML下编辑的文章空格则会被保留,就这样自己一直使用HTML来编辑文章,每段开头都手动空格,操作起来很麻烦。也不知道是我懒还是怎么的,今天终于想到了用搜索引擎查找一下是否有什么解决段首空格的方法,结果显而易见很容易的就找到了。

    修改WordPress段首自动空两格只需要在外观编辑下的样式表(style.css)(进入后台-外观-编辑器-style.css)中合适位置加入一段代码问题就完全解决了。以后在编辑文章时使用Enter分段(也就是<p></p>分段),在发布后段首就会自动显示空两格的效果,无需其他操作。

    代码如下:

.post p{text-indent:2em;} 或 .post-content p{text-indent:2em;} 或.content p{text-indent:2em;}

    具体的样式根据主题会有所不同,各位对应着修改。这个方法不好的地方是,有些段落前面并不希望增加空格的时候也会增加空格。

 


第二

    去各种狗了一下“让Wordpress保留段首空格的方法”,发现能搜到的最好的解决方案是,在主题css中使用text-indent来让每个段落段首自动缩进两字符(其实这也是Programet目前使用的方法)。这个方法有个弱点:如果某些段落段首不空格或不止空两格,就会有一定的麻烦,换句话说,灵活性不够。

    叶子这里给出另一个方案,能实实在在地让Wordpress保留在可视化编辑其中输入的每个空格。

    首先感谢TinyMCE Entities Patch的作者stringfold,下面的代码是从这个插件中提取出来的。由于原插件过于老迈,其他部分我不确定能用,只用了这个部分。

add_filter('tiny_mce_before_init', 'preserve_nbsp_chars');
function preserve_nbsp_chars($initArray) {
    $initArray['entities'] = '160,nbsp,'.$initArray['entities'];
    return $initArray;
}
 

    如果你不懂用这段代码的话,我把它做成了一个插件。请在后台搜索并安装插件“Keep Blanks”。

 

6 条评论

昵称
  1. Ku_Andrew

    博主的风格好漂亮,简约不简单

  2. 愚蠢的凡人

    之前试过,我主题空两格会不好看所以作罢 😯

    1. 露水晨曦

      @愚蠢的凡人 @愚蠢的凡人: 我也发现这个问题,首页摘要的时候,有空格

  3. Junan

    之前我也在折腾这个问题,后来还是算了,不空就不空了。因为改了更新WP也会被覆盖的。

  4. 一念花开

    我是先把文章缩进以后,再在文章每一段的开头打上空格的。不过现在确实学习了。

    1. 露水晨曦

      @一念花开 @一念花开: 这个其实就是利用 nbsp;来实现这个效果的。 😯