这个Wordpress大概是从10年前开始搭建的,当时使用的代码高亮插件是“Crayon Syntax Highlighter”,随着WordPress的不断更新,经受住了时间的考验。
遗憾的是,这个插件已经超过3年没有更新了,并且随着Wordpress进入到5.x后,出现了各种各样的问题,但是碍于之前写了太多包含代码快的文章,一直忍着没动。
但这一天最终还是到来了,今天迁移了服务器,发现插件已经和最新的WP彻底不兼容:页面都只能加载出一半。。
经过一番研究,找到了如何升级既有代码块到Enlighter(新的代码高亮插件)的做法。
先安装两个插件:
- Enlighter,新的代码高亮插件
- Better Search Replace,用于对数据库中的内容进行替换
然后启用Enlighter。
启用Better Search Replace,执行类似如下规则的替换:
<pre class="lang:php decode:true"> <pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="true" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="" style="display: none;">
<pre class="lang:default decode:true"> <pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="true" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="" style="display: none;">
聪明的你应该已经发现套路了,就是把lang换一下就好,就是这样简单!
执行替换的dryRun后,别忘记去掉dryRun选项,真正执行替换
但还有个问题,就是旧的class,经常会在引号内有空格,所以这个要仔细搜一下。
都替换完毕后,记得卸载Crayon Syntax Highlighter插件哦!