是否有wordpress函数来检测插件是否不是最新的?

时间:2019-03-24 23:38:49

标签: php wordpress auto-update

我正在尝试向我的wordpress插件添加自动更新设置。我发现了更新的方式,但是如果没有可用的更新,则持续运行更新会使网站崩溃。有一个wordpress函数可以检查我的插件是否有可用的更新?还是全局变量?或以任何方式从wordpress插件获取最新版本号?我需要一种方法来检测插件是否已经是最新的。谢谢。

我在在线here上找到的此功能似乎不起作用

function is_plugin_updated($plugin_slug){
  if (!function_exists('get_plugins')) {
    require_once(ABSPATH.'wp-admin/includes/plugin.php');
  }
  $all_plugins = get_plugins();

  if(!empty($all_plugins[$plugin_slug])){
    return true;
  }else{
    return false;
  }
}

此功能只是为我提供了该插件的当前版本,而不是最新发布的版本

function get_plugin_version(){
  $plugin_data = get_file_data(__FILE__, array('Version' => 'Version'), false);
  $plugin_version = $plugin_data['Version'];
  return $plugin_version;
}

这是我到目前为止所拥有的

function upgrade_plugin($plugin_slug){
  include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
  wp_cache_flush();

  $upgrader = new Plugin_Upgrader();
  $upgraded = $upgrader->upgrade($plugin_slug);

  return $upgraded;
}

我需要更多类似的东西

function upgrade_plugin($plugin_slug){
  if(!pluginUpToDate()){
    include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
    wp_cache_flush();

    $upgrader = new Plugin_Upgrader();
    $upgraded = $upgrader->upgrade($plugin_slug);

    return $upgraded;
  }
}

function pluginUpToDate(){
  //detect if plugin version is current and up to date
}

0 个答案:

没有答案