方法 1:使用插件 Space Lover
安装并启用 Space Lover 插件即可。不写入数据库,更换主题不影响功能。
方法 2:functions.php 添加代码(不写入数据库)
在当前主题的 functions.php 文件中添加以下代码:
//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; }
此方法不会将添加的空格写入数据库中,只有在前端显示内容时才会自动执行给中英文数字间添加空格的操作,只能处理文章内容,无法处理文章标题。仅对当前主题有效。
方法 3:functions.php 添加代码(写入数据库)
在当前主题的 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; }
此方法会将添加的空格写入数据库中,当我们发布、更新、保存文章的时候就会自动执行给中英文数字间添加空格的操作,可同时处理文章内容和文章标题。仅对当前主题有效。
我是同时使用 Space Lover 插件和方法 3。
博主,你的这个博客是用 word Press 搭建的嘛?