如何自动在 WordPress 文章和标题的中英文数字之间添加空格

2024-01-12 0 1,116

正文:

在浏览文章时,你是否注意到一些作者编辑的文章格式非常规整?特别是在中文、英文和数字之间使用空格进行分隔,使得读者在观感和阅读上更加清晰明了,整体排版也更加美观。然而,如果我们在编写文章时需要手动一个一个地添加空格,那将会非常繁琐且降低写作效率。

因此,我在这里提供了一个简单的方法来实现这样的排版功能。方法非常简单,只需在当前主题的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 文章和标题的中英文数字之间添加空格

收藏 (0)

微信支付 微信扫一扫

支付宝支付 支付宝扫一扫

点赞 (0)

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务