从本地压缩文件自动更新WordPress

时间:2015-09-23 作者:Paul

我有一个Wordpress博客托管在服务器上,没有传出网络。因此,Wordpress无法检查新版本和/或自动更新到新版本。

目前,我所知道的将博客更新为新版本WP的唯一方法是遵循复杂的指南here, 或者将其复制到另一台主机(使用传出网络),更新并复制回。这两种方式都非常复杂。

我正在寻找一种方法来使用WP的自动更新程序,而不需要主机上的传出网络。基本上,我想上传wordpress-4.3.1.zip 通过FTP,转到管理面板,选择“从zip文件更新:wordpress-4.3.1.zip“。有没有这样的选项或插件可以帮助我实现这一点?

Edit: 请注意,我无权在服务器上运行任意代码。基本上,我有PHP、MySQL、FTP,仅此而已。

3 个回复
最合适的回答,由SO网友:Paul 整理而成

下面是如何通过临时对WP代码进行一次小修正来完成的:

将zip文件上载到WP的根文件夹,与wp-config.php 还有朋友打开文件wp-admin\\includes\\update.php.find_core_update, 并将其更改为:

function find_core_update( $version, $locale ) {
    $updates = get_core_updates();
    return $updates[0];
}
查找函数get_core_updates, 并将其更改为:

function get_core_updates( $options = array() ) {
    $new_zip = \'wordpress-4.3.1.zip\';
    $new_version = \'4.3.1\';
    return array((object)array(
        \'response\'      => \'upgrade\',
        \'current\'       => $new_version,
        \'download\'      => \'../\' . $new_zip,
        \'packages\'      => (object) array (
                            \'partial\' => null,
                            \'new_bundled\' => null,
                            \'no_content\' => null,
                            \'full\' => \'../\' . $new_zip,
                        ),
        \'version\' => $new_version,
        \'locale\' => null
    ));
}
设置$new_zip, $new_version 根据需要提供变量。

进入管理面板并运行更新!

SO网友:kraftner

像往常一样,WP-CLI 您已经涵盖:

wp core update --version=3.8 ../latest.zip
查看此处了解更多详细信息:http://wp-cli.org/commands/core/update/

SO网友:Mayeenul Islam

我经常手动更新,不是那么痛苦。:)

只需这样做(我希望您知道如何手动更新):

Step 1: 去除wp-includes, 和wp-admin 从服务器上传新的两个
Step 2: 剪切/复制本地文件夹中的所有松散文件,并将其粘贴到具有覆盖权限的服务器根目录中-Just a replace

您就完成了。:)

Optional Step 1: 在里面wp-content/themes/ 删除默认主题文件夹并上载最新文件夹(如果使用)
Optional Step 2: 在里面wp-content/plugins/ 删除“Akismet”文件夹,如果使用此文件夹,请上载最新的“Akismet”。

P.S.: 不删除wp-content, .htaccess, wp-config.php, robots.txt

相关推荐

Updates for a private plugin?

如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点