问题描述
问题很简单:) 我正在制作一个主题,我将在许多网站上使用。所以,我不想去所有的网站和 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。