在使用 WordPress 进行文章创作时,不少用户会发现一个问题,那就是写文章发布后,段落首部的空格会直接被过滤掉,这使得文章首行呈现顶格状态无缩进,看起来很不习惯,严重不符合国人的阅读习惯。
WordPress 作为一款广泛使用的内容管理系统,起初是由老外开发的,在很多方面对中文的支持确实不够完善。对于习惯了段落首行空两格的国人来说,这无疑是一个亟待解决的问题。在浏览一些基于 WordPress 搭建的博客时,我们可以看到有的文章文字是段首空两格,符合中国人的习惯,而有的则是直接顶格。
这种情况的出现,主要是因为 WordPress 自带的编辑器没有考虑到中文的书写习惯。当我们手动在发表文章时添加空格,WordPress 在发布的时候会自动顶格,使得我们的努力白费。比如,我们通常在发布文章时把编辑器切换到 “文本” 模式,然后再在首行手动键入两个全角的空格来实现首行缩进,但这样做有两个弊端。一是麻烦,编辑不方便;二是如果日后更换成了首行会自动空两格的主题,就会变成首先空四个空格。解决方案如下:
一、采用 CSS 样式
采用 css,对段落标签 p 添加样式,代码如下:p {text-indent:2.1em;}。将上面代码复制到style.css文件中就可以,这个文件可以通过两种方式找到。一是进入后台,选择外观 -> 编辑,将代码复制进去,注意别复制到注释里;二是登录服务器,找到主题文件中的style.css文件,网站 /wp-content/themes/ 模板 /style.css。写完后,直接查看原有文章就可以看到效果(注意,要在前端看,而不是在后台的写文章中,因为写的文章还没有应用样式呢)。这样一来,所有段落的首行就会自动缩进两个字符,非常符合国人的阅读习惯。
二、修改 function.php 的函数
可以通过修改主题目录下functions.php文件,打开后在最后添加以下代码即可实现首行缩进,其它什么都不用调整。代码如下:
function Bing_text_indent($text){
$return = str_replace('\u003cp', '\u003cp style=\"text-indent:2em;\"',$text);
return $return;
}
add_filter('the_content','Bing_text_indent');
这是一个比较简单实现的方法,将代码添加到主题目录functions.php的最后一个?>前即可实现首行缩进。