前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码实现 WordPress 文章中英文数字间自动添加空格

代码实现 WordPress 文章中英文数字间自动添加空格

作者头像
魏艾斯博客www.vpsss.net
发布2018-06-01 15:43:24
1.3K0
发布2018-06-01 15:43:24
举报

我们做网站内容,主要还是以文字图片混排来实现的,那么中英文混排的时候,有一个小细节不知道大家注意到没有,就是 WordPress 文章中英文数字间添加空格。一篇排版美观合理的文章,能给访客带来很好的阅读体验,同时可以提高二次回访率;同时搜索引擎在收录、索引文章时,对于文章排版的要求也是存在的,所以做好网站文章的排版是重要的“小细节”。所以今天用纯代码实现WordPress 文章中英文数字间自动添加空格

对于这种中英文数字间添加空格的调整,不但有助于提升用户体验度,还对于 SEO 有一定好处,搜索引擎蜘蛛也会按照一定规律来读取文章内容。

方法很简单,是在当前主题 functions.php 文件中添加以下代码:

//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 输出文章内容的时候执行,代码如下:

//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; }

这样的方式是前端显示内容时才会执行,自动给中英文数字间添加空格,同时只针对文章内容生效,文章标题无法实现。

以上两段代码的实现方式不同,可以使用一种,也可以同时使用。

手动批量修正已发文章的方法:进入 wp 后台,标题打钩选择本页全部文章,点击“批量操作”旁边的倒三角选择“编辑”>应用,忽略中间的选项,直接点击最右侧的更新,这样可以一次性改正一页 20 个文章,重复操作就可以快速把以前的文章全都修正过来了。

本文代码来源自泪雪博客 https://zhangzifan.com/wordpress-post-autospace.html

WordPress 文章中英文数字间自动添加空格的代码,替代了插件,节约了系统资源,可以手动批量修正已发的文章,经过魏艾斯博客使用方法一(也就是修改结果写入数据库)把博客所有文章都批量修正了一遍,用户体验还是很不错的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档