从wordpress转到classicpress的详细教程
classicpress号称更快的轻量级第三方WordPress版本,经过一段时间的探索,老白也在宝塔面板的环境下将网站整体转移到了classicpress。在此记录一下老白从wordpress转classicpress的详细过程,以及遇到的一些问题,比如FTP和主题不适配的问题等。关于二者对比,大家可以看这个:ClassicPress比较WordPress前后端性能速度对比。
1.启用classicpress转移插件
下载安装一个WordPress插件:Switch to ClassicPress
官方地址:https://www.classicpress.net/latest-migration-plugin.zip
然后点击启用插件,再点击“switch”,即可下一步
2.开始wordpress转移
点击了“switch”后,就出现下面这个界面了。
简单翻译一下,大概就是检测你的网站能否完美过渡到classicpress(以下简称cp,wp为wordpress)
此插件支持WordPress 4.9.0至6.6.2版本(以及一些较新的开发版本)。
您正在运行WordPress 6.6.2版本。
看起来你正在使用主题。我们不知道和ClassicPress之间有任何不兼容之处。
切换到ClassicPress最安全的方法是(暂时)安装并激活完全兼容的主题Twenty Seventeen。
我们不知道您的任何活动插件与ClassicPress不兼容。
ClassicPress支持PHP 7.4到8.3.x版本。
您使用的是PHP版本8.2.23。
这个检测不适用于未上架商店的主题,所以大家需要先找个测试站
2.1 国内服务器注意
针对国内服务器,大家点击下滑该页面,然后点击“Advanced Version Control Tool”。
这时候就会出现下面的自定义界面:
cp版本:选择最新的2.2即可,2.2
URL:插件默认提供的是github的地址,建议大家下载到自己的服务器,临用记得删除。
比如老白博客:https://www.xcbtmw.com/wp-content/ClassicPress-nightly-2.2.0-migration.20240919.zip
2.2 start!
点击“Perform the Custom Migration now!”,进行下一步
3.设置FTP
一般在进行了上面的步骤后,会直接显示如下迁移界面,然后就提示成功
但是如果出现了设置FTP界面,也不要怕,宝塔设置好之后,填入就行
- 账户名:任意
- 密码:任意
- 目录:填写网站根目录
4.可能遇到的问题
如果你没遇到问题,就不要折腾下面的代码了。
如果你有任何需要WordPress 5.0及以上版本才能运行的软件,可能需要在当前主题中添加一些"shims"(填充函数)来避免迁移后可能出现的致命错误。
以cp作者自己为例,需要添加两个shims:一个是wp_body_open()
(因为他们的主题使用了它),另一个是do_blocks()
(因为Toolset插件使用了它)。这两个函数都是在WordPress 4.9之后引入的,因此在ClassicPress中不可用。
对于wp_body_open()
函数,作者给出了一个官方的shim函数。通过在主题或自定义插件中添加以下代码,确保即使ClassicPress中没有这个函数,主题也不会崩溃:
if ( ! function_exists( 'wp_body_open' ) ) {
function wp_body_open() {
do_action( 'wp_body_open' );
}
}
至于do_blocks()
,问题更复杂。因为ClassicPress中没有引入Block功能,无法通过shim提供这个函数的完整功能。但可以通过提供一个shim来避免致命错误。如果网站上没有使用任何Block,这段shim代码可以让许多插件和主题正常输出内容,即使它们在代码中调用了do_blocks()
。
通过添加以下代码,所有Block逻辑都被跳过,并返回传递给函数的原始内容:
if ( ! function_exists( 'do_blocks' ) ) {
function do_blocks( $content ) {
return $content;
}
}
官网原文:https://www.classicpress.net/migrate-wordpress-5-8-website-to-classicpress/