wordpress高亮插件的批量替换
刚开始的时候使用的高亮插件是 CodeColorer,这款插件是基于GeSHi代码高亮库的,使用的时候感觉此插件功能强大,尤其是设置里面可以定自定义好几种的样式,大概使用了半年的时间吧,随着对 wordpress 的熟知程度,后来接触到了功能更为强大的 wordpress 高亮插件 SyntaxHighlighter Evolved,其实功能上 SyntaxHighlighter Evolved 插件不见得要比 CodeColorer 更强大,但是SyntaxHighlighter Evolved插件的高亮代码更好看一些,当然是自我感觉,每个人的感觉不一样,大概已经有几百篇文章都使用了 CodeColorer 插件样式,要想改成 SyntaxHighlighter Evolved 插件样式,看来是需要批量修改了。
其实高亮插件的原理无非就是调用了一些样式代码使其显示了高亮显示,在后台编辑文章时,如果要进行高亮显示,则需要使用高亮插件提供的包含代码将被包含的代码包含起来就可以了,比如 :
CodeColorer 插件使用的包含代码如下:
[cc lang="php"]里面是你的代码[/cc]
SyntaxHighlighter Evolved 插件使用的包含代码如下:
[code lang="php"]里面是你的代码[/code]
这样就简单了,如果想要替换高亮插件,首先需要在后台将老的插件停掉,夏日博客停掉了 CodeColorer 插件,这个时候再去看前台,已经没有样式了,而且还可以清楚的看到 [cc lang="php"] [/cc] 这样的包含代码也显示出来了,这是去掉了样式后的结果,然后再去搜索 SyntaxHighlighter Evolved 插件,将其启用,在后台插件列表已经启用了高亮显示的插件。
现在我们要做的就是将文章中的包含代码给批量替换掉就可以了,也就是将老插件包含代码 [cc lang="php"] 替换成新插件的包含代码 [code lang="php"],[/cc] 替换成 [/code] 就可以了。
直接使用 wp 批量SQL替换语句,如下:
UPDATE wp_posts SET post_content = REPLACE( post_content, '[cc lang="php"]', '[code lang="php"]' )
执行完毕,再执行一次: UPDATE wp_posts SET post_content = REPLACE( post_content, '[/cc]', '[/code]' )
执行过程中,如果进行查询会出现错误,不用管它,直接执行就可以了。
特别注意:因为是批量替换的SQL,所以会将所有文章中的相关代码全部替换掉,只要文章中出现 [/cc] 的地方就会替换,夏日博客就有十几篇的文章直接导致更新,只能重新编辑一些文章了,另外可能还会出现一些预想不到的错误,所以些方法有较大的风险,如果没有足够的把握请不要尝试,最后,还是老样子,在更改的时候一定要先备份数据库,以免在出现错误的时候能够更好的进行恢复,另外,因为代码的可执行性,这篇文章的代码部分使用了中文逗号和空间,在使用的时候一定要先改成英文的才行。