利用第三方类为主题提供在线更新安装服务,免去了下载主题包的麻烦。

前言

使用过WordPress的都知道WordPress默认主题都有在线更新的功能,但是我们一般使用的主题却木有,在对欲思主题的二次开发的时候,博猪就用到了一个自动更新的功能,在这里和大家说说吧

程序简介

theme-update-check是国外的牛人开发的一个终于WordPress主题更新的PHP类,类似于我们熟悉的裁图工具timthumb.php,我们可以很方便的将他集成到我们的主题里面,实现主题的自动更新服务。

文件说明

首先在文末下载文件包,解压出来是三个文件,updates.php和info.json。

首先打开info.json,你会发现是类似下面的代码

{

"version" : "2.0",

"details_url" : "http://git.oschina.net/yunluo/yusi",

"download_url" : "http://git.oschina.net/yunluo/yusi/repository/archive?ref=master"

}

当然,这个是我自己主题的文件,应该都能看懂吧。

主要就三个参数

第一个是版本号

第二个是主题发布页

第三个是主题下载直链,就是输入这个链接,浏览器自动下载主题的那种。

再看一下updates.php文件,其他你不需要看,你只需要把主题名字(别名)和info.json文件的路径填写进去就好了,其他就不用管了。

然后在主题的functions.php写入下面代码

//主题自动更新服务

require 'updates.php';

$example_update_checker = new ThemeUpdateChecker(

'yusi',

'info.json文件路径'//此路径可以开发者自己定义,保证info.json文件能够公开访问以及不能被除开发者之外的人修改即可

);

文件部署

首先将updates.php文件放在主题根目录,然后将info.json放在主题开发者自己的网站根目录里面,当然,其实并不一定是根目录,放在哪里,然后updates.php文件里面的路径就是这个,info.json文件必须保证能够公开访问,然后over了!

推送更新

程序是将主题的开发者留下的meta文件和主题样式style..css里面的版本号进行比对,如果主题开发者的info.json文件里面的版本 号比使用者的主题文件style.css里面的版本号大,那么就会在WordPress后台的更新工具进行更新提醒,和正常的WordPress更新,插 件更新完全一样,如果你选择更新,就自动从主题直链在线安装主题。

注意事项

在使用中,博猪发现了一些小问题,在这里也顺便说一下。

最重要的是保证一致性。保证自动更新里面的主题名字和你使用的主题名字一样,比如我目前使用的主题名字叫yusi,对,这里说的是主题文件夹名字,而不是 其他中文名字,需要保持一致的地方有info.json,functions.php中的初始化函数代码,updates.php文件这四个地方,另外下 载链接所下载的主题包文件名字也必须是一样的。

另外有很多朋友和博猪一样喜欢使用github,gitcafe,oschina,coding等等使用GIT版本控制系统的代码托管网站,如果采用这里 提供的直链下载的话,你的项目名字也必须和主题名字一样,比如我之前的项目名字叫yusi-theme,结果自动更新之后主题文件夹多了一个名字叫 yusi-theme的主题文件夹。好吧,明白怎么回事了吧!

后语

使用这种自动更新功能可以给主题使用者更新鲜的体验以及免去了多次下载的麻烦,自动检查更新的功能最好弄一个开关,让用户选择是否启用,因为主题更 新会全部覆盖主题文件,如果使用者在主题里面自己添加了什么代码,最后都可能被覆盖掉,所以,主题开发者尽量给主题多留一些框框,尽量让使用者在主题设置 里面设置,而不是直接在主题里面。

相关链接

php 在线更新,Updates.php给自己的主题添加在线更新功能相关推荐

  1. Hexo yilia 主题添加相册功能

    当我们使用hexo博客框架中的yilia主题时,在我们这一博客页面中,原作者Litten并未帮我们添加相册这一功能.这时,如果想让我们的博客拥有相册的功能,就需要我们自行添加改变.添加主题中的相关参数 ...

  2. Hexo-NexT主题添加评论功能(来必力、Hypercomments、畅言、友言)

    更多内容请访问: http://www.bianxiaofeng.com/view/8 前言 最近捣鼓着博客的评论功能,看到很多形形色色的评论插件,比如来必力,畅言等等之类的.功能是各不一样,网上教程 ...

  3. jeecg公开课今晚主题:新版本功能介绍、online原理和代码生成器,欢迎大家报名

    jeecg公开课今晚主题:新版本功能介绍.online原理和代码生成器,欢迎大家报名 http://ke.qq.com/cgi-bin/courseDetail?course_id=74100

  4. php主题怎么增加导航页,为twentytwelve子主题添加pagenavi分页导航 | 科研动力

    为twentytwelve子主题添加pagenavi分页导航,修改function.php文件即可,添加一段代码即可实现. 本站使用的是基于twentytwelve主题修改的子主题.twentytwe ...

  5. CI框架主题切换的功能

    CI框架主题切换的功能 本人接触到这个框架不就,属于菜鸟 , 公司现在用CI框架做项目 ,老大要做一个主题切换的功能,说明功能的要求我的脑子里瞬间有几个想法. 脑子里最简单的就是设置全局变量 如 : ...

  6. hexo之next主题添加分类

    hexo之next主题添加分类 @(Hexo+Github) 当前博客主题用的是next最新版,最初是比较简陋的界面,一直放着没怎么动,测试了下Latex的显示效果没有达到在CSDN我的博客上的效果, ...

  7. 为Gridea主题添加思源宋体字体支持

    Added Noto Serif SC font support for Gridea theme 文章同时上传于本人独立博客 wherelse.cc,欢迎访问 思源宋体作为一款比较适合阅读的开源衬线 ...

  8. Hexo-fluid主题添加51LA统计

    打开51.la注册账号,这步就不教了,然后登录. 打开github的仓库,找到主题的配置文件,注意不是总的,是主题的! 大概在下图位置,开启网页访问统计,填true. 51la统计 5.打开https ...

  9. hexo+yilia主题添加评论

    hexo+yilia主题添加评论 因为热爱,所以拼搏. --RuiDer 回顾hexo+yilia主题添加访问量 上一篇文章介绍了hexo+yilia主题添加访问量,如果需要点击hexo+yilia主 ...

  10. hexo博客yilia主题添加复制代码块功能

    博客中的复制代码块功能还是挺实用的,本文参考自 这个博客,感谢并膜拜这位大佬,该博客应该是yilia主题添加复制代码块功能的首创,详细记录了整个过程,看起来比较繁琐(无贬义),所以我单独整理一份最终版 ...

最新文章

  1. win10下Git和Tortoise安装并使用VS15保存到码云
  2. 阴阳师哪些服务器可以跨系统转移,阴阳师怎么跨系统转服?跨系统转服方法介绍...
  3. 【每周NLP论文推荐】 对话管理中的标志性论文介绍
  4. python和access哪个实用_access和python学哪个
  5. 【图像处理】——正装照换底色Python
  6. 如何在 ASP.NET CORE 中获取客户端 IP ?
  7. 垃圾收集算法,垃圾收集器_垃圾收集器准则和提示
  8. android setimageresource取list的,Java ImageView.setImageTintList方法代码示例
  9. 【应用篇】WCF学习笔记(一):Host、Client、MetadataExchage
  10. vb6 word 2002 合并单元格_Word制作公司人员登记表,方法简单,新手练习表格,一起来学吧...
  11. [已破案] 镜像出问题了
  12. Oracle官方并发教程之不可变对象
  13. [多媒体] m3u8简介
  14. 关于英语写作和阅读的学习——施一公教授的两篇博文
  15. 关于JS如何实现图片闪烁
  16. 运行期间动态切换Redis数据库
  17. 神箭手 美国亚马逊_亚马逊会摧毁美国的购物中心吗?还是会拯救它们?
  18. 物流小程序设计开发的功能明细与方案
  19. ML之interpret:基于titanic泰坦尼克是否获救二分类预测数据集利用interpret实现EBC模型可解释性之全局解释/局部解释案例
  20. C语言练习盲打的小程序

热门文章

  1. .net面试中常被面试官问到的问题
  2. sdut 1465 公共因子
  3. git cherry pick用法
  4. spring AOP 切在方法上可以改变方法的返回值
  5. Hadoop I/O
  6. 是不让页面重新渲染元素~·
  7. loadrunner 字符集与检查点的探讨
  8. 手动玩转虚拟地址到物理地址转化
  9. kswapd进程与swap、swappiness之间的关系及原理
  10. linux内核分析及应用 -- Linux 网络层数据流分析(下)