网站地图    收藏   

主页 > 后端 > wordpress教程 >

WordPress 主题更新提示实现方法 - WordPress

来源:自学PHP网    时间:2014-11-28 23:41 作者: 阅读:

[导读] 之前我曾经转载过一个类似的功能,但太复杂了,而且不是很实用,于是还是自己写了一个,支持远程文件的缓存,避免对速度的影响 首先你要准备一个 JSON 文件,放到你的网站目录里,JSON 文件...

WordPress 主题更新提示实现方法

之前我曾经转载过一个类似的功能,但太复杂了,而且不是很实用,于是还是自己写了一个,支持远程文件的缓存,避免对速度的影响.

首先你要准备一个 JSON 文件,放到你的网站目录里,JSON 文件内容例子,代码如下:

{"Version":"1.0","text":"<p>这是要给用户说的话</p>"}

注意,一个值是最新主题的版本,版本是自动和当前用户主题的 style.css 里的版本进行对比,如果用户的主题不是最新版本就在后台的顶部显示第二个属性的内容,然后在 functions.php 里放下边的代码:

  1. $theme_update_json = 'http://www.phpfensi.com /update.json';//注意你的地址 
  2. define( 'theme_update_json'$theme_update_json ); 
  3.  
  4. $themefolder = strtolower( wp_get_theme() ); 
  5. define( 'theme_folder'$themefolder ); 
  6.  
  7. $theme_update_json_path = TEMPLATEPATH . '/update.json'
  8. define( 'theme_update_json_path'$theme_update_json_path ); 
  9.  
  10. function Bing_get_update_json(){ 
  11.  $fp = @file_get_contents( theme_update_json, 'r' ); 
  12.  if( !$fp ) return
  13.  file_put_contents( theme_update_json_path, $fp ); 
  14. add_action( 'theme_' . theme_folder . '_update''Bing_get_update_json' ); 
  15.  
  16. function Bing_theme_version_compare(){ 
  17.  global $update_json
  18.  if( !file_exists( theme_update_json_path ) ) return false; 
  19.  $theme_data = wp_get_theme(); 
  20.  $update_json = @file_get_contents( theme_update_json_path, 'r' ); 
  21.  $update_json = json_decode( $update_json, true ); 
  22.  if( version_compare( $update_json['Version'], $theme_data['Version'], '>' ) ) return true; 
  23.  return false; 
  24.  
  25. function Bing_update_schedule_event(){ 
  26.  global $pagenow
  27.  if$pagenow == 'themes.php' && isset( $_GET['activated'] ) && !wp_next_scheduled( 'theme_' . theme_folder . '_update' ) ) wp_schedule_event( current_time( 'timestamp' ), 'daily''theme_' . theme_folder . '_update' ); 
  28. add_action( 'load-themes.php''Bing_update_schedule_event' ); 
  29.  
  30. function Bing_notices_update(){ 
  31.  if( !Bing_theme_version_compare() ) return
  32.  global $update_json
  33.  echo '<div id="message" class="updated fade">' . $update_json['text'] . '</div>'
  34. add_action( 'admin_notices''Bing_notices_update' ); 

注意修改成你的 JSON 文件地址,每一天去服务器下载一次你的最新 JSON 文件保存到本地.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论