如何从Crayon Syntax Highlighter升级到Enlighter(WordPress代码高亮)

这个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插件哦!

Leave a Reply

Your email address will not be published.