WordPress Version: 3.7
/**
* Check if there is an update for a theme available.
*
* Will display link, if there is an update available.
*
* @since 2.7.0
*
* @param object $theme Theme data object.
* @return bool False if no valid info was passed.
*/
function theme_update_available($theme)
{
static $themes_update;
if (!current_user_can('update_themes')) {
return;
}
if (!isset($themes_update)) {
$themes_update = get_site_transient('update_themes');
}
if (!is_a($theme, 'WP_Theme')) {
return;
}
$stylesheet = $theme->get_stylesheet();
if (isset($themes_update->response[$stylesheet])) {
$update = $themes_update->response[$stylesheet];
$theme_name = $theme->display('Name');
$details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']);
//Theme browser inside WP? replace this, Also, theme preview JS will override this on the available list.
$update_url = wp_nonce_url('update.php?action=upgrade-theme&theme=' . urlencode($stylesheet), 'upgrade-theme_' . $stylesheet);
$update_onclick = 'onclick="if ( confirm(\'' . esc_js(__("Updating this theme will lose any customizations you have made. 'Cancel' to stop, 'OK' to update.")) . '\') ) {return true;}return false;"';
if (!is_multisite()) {
if (!current_user_can('update_themes')) {
printf('<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
} else if (empty($update['package'])) {
printf('<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>. <em>Automatic update is unavailable for this theme.</em>') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
} else {
printf('<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a> or <a href="%4$s" %5$s>update now</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version'], $update_url, $update_onclick);
}
}
}
}