正文:
在浏览文章时,你是否注意到一些作者编辑的文章格式非常规整?特别是在中文、英文和数字之间使用空格进行分隔,使得读者在观感和阅读上更加清晰明了,整体排版也更加美观。然而,如果我们在编写文章时需要手动一个一个地添加空格,那将会非常繁琐且降低写作效率。
因此,我在这里提供了一个简单的方法来实现这样的排版功能。方法非常简单,只需在当前主题的functions
.php
文件中添加以下代码即可:
方法 1:WordPress
文章中英文数字间自动添加空格(写入数据库)
//WordPress
文章中英文数字间自动添加空格(写入数据库)
add_filter
( 'wp_insert_post_data
', 'fanly_post_data_autospace
', 99, 2 );
function
fanly_post_data_autospace
( $data
, $postarr
) {
$data
['post_title
'] = preg_replace
('/([\x
{4e00}-\x
{9fa5}]+)([A
-Za
-z0
-9_]+)/u
', '${1} ${2}', $data
['post_title
']);
$data
['post_title
'] = preg_replace
('/([A
-Za
-z0
-9_]+)([\x
{4e00}-\x
{9fa5}]+)/u
', '${1} ${2}', $data
['post_title
']);
$data
['post_content
'] = preg_replace
('/([\x
{4e00}-\x
{9fa5}]+)([A
-Za
-z0
-9_]+)/u
', '${1} ${2}', $data
['post_content
']);
$data
['post_content
'] = preg_replace
('/([A
-Za
-z0
-9_]+)([\x
{4e00}-\x
{9fa5}]+)/u
', '${1} ${2}', $data
['post_content
']);
return
$data
;
}
以上代码的功能主要用于在 WordPress
后台编辑时执行,也就是当我们发布、更新、保存文章时会自动执行。写入数据库的内容将自动添加空格,并且处理的对象是文章标题和文章内容。换句话说,它只对新发布的文章生效,当然你也可以批量更新文章以使其生效。
当然,为了更好的兼容性或者采用另一种方法,我还提供了另一种选择,即在 WordPress
输出文章内容时执行代码,如下所示:
方法 2:WordPress
文章中英文数字间自动添加空格(不写入数据库)
//WordPress
文章中英文数字间自动添加空格(不写入数据库)
add_filter
( 'the_content
','fanly_post_content_autospace
' );
function
fanly_post_content_autospace
( $data
) {
$data
= preg_replace
('/([\x
{4e00}-\x
{9fa5}]+)([A
-Za
-z0
-9_]+)/u
', '${1} ${2}', $data
);
$data
= preg_replace
('/([A
-Za
-z0
-9_]+)([\x
{4e00}-\x
{9fa5}]+)/u
', '${1} ${2}', $data
);
return
$data
;
}
以上两段代码实现的方式各有不同,根据需要选其一使用即可,也可以两者同时使用。
当然,有的人不想写入到 functions
.php
文件中,也可以,就是将以上两段代码制作成小插件即可,这样就不怕以后主题更新了。至于嫌插件安装太多影响 WordPress
的速度,这里就根据自己需求选择吧,效果都是一样的。
转载请注明:汇站网 » 如何自动在 WordPress 文章和标题的中英文数字之间添加空格