自动wordpress核心和插件版本监控到json文件

时间:2017-07-25 19:30:26

标签: wordpress

由于我必须维护很多Wordpress站点,我创建了一个小函数,它生成一个带有最新Core&插件更新信息。我的监控页面通过curl获取这个json文件,并将它们显示在列表中。

问题是,在后端登录后,json文件中的数据似乎只能实现。我尝试使用init操作让它在没有后端登录的情况下工作,但它没有。

有人有想法,如何解决?我希望每72小时获得一次实际状态。这是我在functions.php中的函数:

function wpCheckUpdateState() {

    $upload_dir = wp_upload_dir();
    $file = $upload_dir['basedir'] . '/version.json';

  // check only every 72 hours (259200sec)
  if( is_writeable($upload_dir['basedir']) && ( !is_readable($file) || filemtime($file) < time() - 259200) ) {

    if( function_exists('file_put_contents') ) {                

        $data['rebuild'] = false;

        if( get_site_transient('update_plugins') == false) {
            wp_update_plugins();
            $data['rebuild'] = true;
        }

        $plugins = get_site_transient( 'update_plugins' );

        $data['wp-version'] = get_bloginfo('version');
        $data['updated'] = date('d.m.y H:i', $plugins->last_checked);
        $data['plugins']['update'] = count($plugins->response);
        $data['plugins']['no_update'] = count($plugins->no_update);

        $json_data = json_encode($data);
        file_put_contents($file, $json_data);

    }

  }

}
add_action( 'init', 'wpCheckUpdateState' );

0 个答案:

没有答案