屏蔽 WordPress 智能字符转码功能,加快页面显示

2023-04-13 13:35:19 浏览数 (1)

WordPress 有个自带函数 wptexturize,它会将纯文本中的直引号转换为智能引号(弯曲的引号),比如下面这句话:

代码语言:javascript复制
'cause today's effort makes it worth tomorrow's "holiday" ...

转换为:

代码语言:javascript复制
’cause today’s effort makes it worth tomorrow’s “holiday” …

还能根据需求转换撇号、破折号、省略号、商标符号和乘法符号,所有的智能转换有下面这些:

原始文本

转换之后的文本

符号名称

"---"

"—"

em-dash | 破折号

" -- "

"—"

em-dash | 破折号

"--"

"–"

en-dash | 连接号

" - "

"–"

en-dash | 连接号

"..."

"…"

ellipsis | 省略号

"xn–"

"xn--"

``

opening quote | 开启引号

"hello

“hello

opening quote | 开启引号

'hello

‘hello

opening quote | 开启引号

''

closing quote | 关闭引号

world."

world.”

closing quote | 关闭引号

world.'

world.’

closing quote | 关闭引号

" (tm) "

" ™ "

trademark symbol | 注册商标符号

1234"

1234″

double prime symbol | 角秒符号

1234'

1234′

prime symbol | 角分符号

'99

’99

apostrophe|缩写年份前的撇号

Webster's

Webster’s

apostrophe|单词中的撇号

1234x1234

1234×1234

multiplication symbol | 乘法符号

这些转换是为了方便英文,不管是输入直引号,都能转换成弯引号,并且转换之后,这些字符都是使用 HTML 实体显示的,有时候在某些情况下会很奇怪。

并且这个转换被大量使用,比如文章标题,内容,摘要等的显示都经过这个函数转换,并且这个转换过程使用了大量的正则,效率并不是非常高。

最后在中文环境下,开启的引号和关闭的引号都是会正确的输入,其他的这些所谓的智能转换在中文环境下意义不大,所以可以在当前主题的 functions.php 文件中加入如下代码:

代码语言:javascript复制
add_filter('run_wptexturize', '__return_false');

0 人点赞