问题描述

问题很简单:) 我正在制作一个主题,我将在许多网站上使用。所以,我不想去所有的网站和 FTP 文件每次我修复一个错误或做一个主题升级。

有没有办法,我可以做一个更新系统,如插件插在 wordpress 插件目录中。

期待您的回答。谢谢!

解决了:

感谢 Chip Bennett 的出色的联系。主题的更新库现在可以在该网站中使用。你可以在这里找到:http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

如果您看到一些免费提供的优秀作品,请务必考虑捐款。

最佳解决方案

您也可以挂接核心更新程序。 (我正在寻找教程链接,但我的 Google-fu 今天早上没有我。)

编辑:

See if this tutorial helps 。它解释了如何实现私有/商业 (即 non-repository-hosted) 插件的自动升级。

次佳解决方案

一个兴趣的问题!其实我觉得你应该做一个服务来检查更新!如 yourdomain.comn /api /update-check!那么这样可以返回 XML 或 JSON 或一些有用的更新信息,比如版本,更新文件的 url(更新的文件应该是 zip 文件)!

在您的主题中,您可以:

    <?php define('OWN_THEME_VERSION', '1.1');

因此,当您从上面的 url(yourdomain.com /api /update-check) 检测到更新时,假设它返回 JSO 数据,如下所示:{“version”:”1.2″,”file”:”theme.zip“}

你比较版本检查新的更新!然后用这个功能 http://codex.wordpress.org/Function_Reference/switch_theme 切换到默认主题 (按照用户访问该网站的顺序,他们看到一个令人担忧的网站)!接下来,你的代码可以使用 curl 甚至 file_get_contents 来下载 zip 文件 (在这种情况下是 theme.zip)!接下来,您删除主题文件夹中的所有文件,然后将 zip 文件复制到主题文件夹中。我认为这样应该工作!

你可能想看看 WordPress 做了什么!我发现它在文件 wp-admin /includes /update-core.php,第 288 行,功能 update_core

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。