Version; } else { $theme_data = wp_get_theme( get_template_directory() . '/style.css'); $theme_version = $theme_data['Version']; } $theme_base = get_option('template'); add_filter('pre_set_site_transient_update_themes', 'pmthemes_theme_new_update'); function pmthemes_theme_new_update($checked_data) { global $wp_version, $theme_version, $theme_base, $api_url; $request = array( 'slug' => $theme_base, 'version' => $theme_version, ); // Start checking for an update $send_for_check = array( 'body' => array( 'action' => 'theme_update', 'request' => serialize($request), 'api-key' => md5(home_url()), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url() ); $raw_response = wp_remote_post($api_url, $send_for_check); if (!is_wp_error($raw_response) && ($raw_response['response']['code'] == 200)) $response = unserialize($raw_response['body']); // Feed the update data into WP updater if (!empty($response)) $checked_data->response[$theme_base] = $response; return $checked_data; } // Take over the Theme info screen on WP multisite add_filter('themes_api', 'pmthemes_api_call', 10, 3); function pmthemes_api_call($def, $action, $args) { global $theme_base, $theme_version, $wp_version, $api_url; if ( ! isset( $args->slug ) ) { return false; } if ( $args->slug != $theme_base ) { return false; } // Get the current version. $args->version = $theme_version; $request_args = array( 'body' => array( 'action' => $action, 'request' => serialize( $args ), 'api-key' => md5( home_url() ), ), 'user-agent' => 'WordPress/'. $wp_version .'; '. home_url(), ); $request = wp_remote_post( $api_url, $request_args ); if (is_wp_error($request)) { $res = new WP_Error('themes_api_failed', __('An Unexpected HTTP Error occurred during the API request.
Try again','pmthemes'), $request->get_error_message()); } else { $res = unserialize($request['body']); if ($res === false) $res = new WP_Error('themes_api_failed', __('An unknown error occurred','pmthemes'), $request['body']); } return $res; } if (is_admin()) $current = get_transient('update_themes');