list_theme_updates

The timeline below displays how wordpress function list_theme_updates has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.4

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    $themes_count = count($themes);
    ?>
<h2>
	<?php 
    printf('%s <span class="count">(%d)</span>', __('Themes'), number_format_i18n($themes_count));
    ?>
</h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    esc_url(self_admin_url('update-core.php')),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br />' . __('This update does not work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
				<label for="<?php 
            echo $checkbox_id;
            ?>">
					<span class="screen-reader-text">
					<?php 
            /* translators: Hidden accessibility text. %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
					</span>
				</label>
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot() . '?ver=' . $theme->version);
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 6.3

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    $themes_count = count($themes);
    ?>
<h2>
	<?php 
    printf('%s <span class="count">(%d)</span>', __('Themes'), number_format_i18n($themes_count));
    ?>
</h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    esc_url(self_admin_url('update-core.php')),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br />' . __('This update does not work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<label for="<?php 
            echo $checkbox_id;
            ?>" class="label-covers-full-cell">
					<span class="screen-reader-text">
					<?php 
            /* translators: Hidden accessibility text. %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
					</span>
				</label>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot() . '?ver=' . $theme->version);
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 6.2

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    $themes_count = count($themes);
    ?>
<h2>
	<?php 
    printf('%s <span class="count">(%d)</span>', __('Themes'), number_format_i18n($themes_count));
    ?>
</h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    esc_url(self_admin_url('update-core.php')),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br />' . __('This update does not work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br />' . __('This update does not work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
				<label for="<?php 
            echo $checkbox_id;
            ?>" class="screen-reader-text">
					<?php 
            /* translators: Hidden accessibility text. %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
				</label>
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot() . '?ver=' . $theme->version);
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 6.1

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    $themes_count = count($themes);
    ?>
<h2>
	<?php 
    printf('%s <span class="count">(%d)</span>', __('Themes'), number_format_i18n($themes_count));
    ?>
</h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br>' . __('This update does not work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    esc_url(self_admin_url('update-core.php')),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br>' . __('This update does not work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    esc_url(self_admin_url('update-core.php'))
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br>' . __('This update does not work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
				<label for="<?php 
            echo $checkbox_id;
            ?>" class="screen-reader-text">
					<?php 
            /* translators: %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
				</label>
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot() . '?ver=' . $theme->version);
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 5.8

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    $themes_count = count($themes);
    ?>
<h2>
	<?php 
    printf('%s <span class="count">(%d)</span>', __('Themes'), number_format_i18n($themes_count));
    ?>
</h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    self_admin_url('update-core.php'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    self_admin_url('update-core.php')
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    self_admin_url('update-core.php')
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
				<label for="<?php 
            echo $checkbox_id;
            ?>" class="screen-reader-text">
					<?php 
            /* translators: %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
				</label>
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 5.5

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    $auto_updates = array();
    if (wp_is_auto_update_enabled_for_type('theme')) {
        $auto_updates = (array) get_site_option('auto_update_themes', array());
        $auto_update_notice = ' | ' . wp_get_auto_update_message();
    }
    foreach ($themes as $stylesheet => $theme) {
        $requires_wp = isset($theme->update['requires']) ? $theme->update['requires'] : null;
        $requires_php = isset($theme->update['requires_php']) ? $theme->update['requires_php'] : null;
        $compatible_wp = is_wp_version_compatible($requires_wp);
        $compatible_php = is_php_version_compatible($requires_php);
        $compat = '';
        if (!$compatible_wp && !$compatible_php) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your versions of WordPress and PHP.') . '&nbsp;';
            if (current_user_can('update_core') && current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
                    __('<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.'),
                    self_admin_url('update-core.php'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            } elseif (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    self_admin_url('update-core.php')
                );
            } elseif (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        } elseif (!$compatible_wp) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your version of WordPress.') . '&nbsp;';
            if (current_user_can('update_core')) {
                $compat .= sprintf(
                    /* translators: %s: URL to WordPress Updates screen. */
                    __('<a href="%s">Please update WordPress</a>.'),
                    self_admin_url('update-core.php')
                );
            }
        } elseif (!$compatible_php) {
            $compat .= '<br>' . __('This update doesn&#8217;t work with your version of PHP.') . '&nbsp;';
            if (current_user_can('update_php')) {
                $compat .= sprintf(
                    /* translators: %s: URL to Update PHP page. */
                    __('<a href="%s">Learn more about updating PHP</a>.'),
                    esc_url(wp_get_update_php_url())
                );
                $annotation = wp_get_update_php_annotation();
                if ($annotation) {
                    $compat .= '</p><p><em>' . $annotation . '</em>';
                }
            }
        }
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<?php 
        if ($compatible_wp && $compatible_php) {
            ?>
				<input type="checkbox" name="checked[]" id="<?php 
            echo $checkbox_id;
            ?>" value="<?php 
            echo esc_attr($stylesheet);
            ?>" />
				<label for="<?php 
            echo $checkbox_id;
            ?>" class="screen-reader-text">
					<?php 
            /* translators: %s: Theme name. */
            printf(__('Select %s'), $theme->display('Name'));
            ?>
				</label>
			<?php 
        }
        ?>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        echo ' ' . $compat;
        if (in_array($stylesheet, $auto_updates, true)) {
            echo $auto_update_notice;
        }
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 5.3

/**
 * Display the upgrade themes form.
 *
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: Link to documentation on child themes. */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    foreach ($themes as $stylesheet => $theme) {
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<input type="checkbox" name="checked[]" id="<?php 
        echo $checkbox_id;
        ?>" value="<?php 
        echo esc_attr($stylesheet);
        ?>" />
			<label for="<?php 
        echo $checkbox_id;
        ?>" class="screen-reader-text">
				<?php 
        /* translators: %s: Theme name. */
        printf(__('Select %s'), $theme->display('Name'));
        ?>
			</label>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        printf(
            /* translators: 1: Theme version, 2: New version. */
            __('You have version %1$s installed. Update to %2$s.'),
            $theme->display('Version'),
            $theme->update['new_version']
        );
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 5.2

/**
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p>
	<?php 
    printf(
        /* translators: %s: link to documentation on child themes */
        __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'),
        __('https://developer.wordpress.org/themes/advanced-topics/child-themes/')
    );
    ?>
</p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    foreach ($themes as $stylesheet => $theme) {
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<input type="checkbox" name="checked[]" id="<?php 
        echo $checkbox_id;
        ?>" value="<?php 
        echo esc_attr($stylesheet);
        ?>" />
			<label for="<?php 
        echo $checkbox_id;
        ?>" class="screen-reader-text">
			<?php 
        /* translators: %s: theme name */
        printf(__('Select %s'), $theme->display('Name'));
        ?>
			</label>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        /* translators: 1: theme version, 2: new version */
        printf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']);
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 5.1

/**
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('https://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
	<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
	<?php 
    foreach ($themes as $stylesheet => $theme) {
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
	<tr>
		<td class="check-column">
			<input type="checkbox" name="checked[]" id="<?php 
        echo $checkbox_id;
        ?>" value="<?php 
        echo esc_attr($stylesheet);
        ?>" />
			<label for="<?php 
        echo $checkbox_id;
        ?>" class="screen-reader-text">
			<?php 
        /* translators: %s: theme name */
        printf(__('Select %s'), $theme->display('Name'));
        ?>
			</label>
		</td>
		<td class="plugin-title"><p>
			<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
			<strong><?php 
        echo $theme->display('Name');
        ?></strong>
			<?php 
        /* translators: 1: theme version, 2: new version */
        printf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']);
        ?>
		</p></td>
	</tr>
			<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
	<?php 
}

WordPress Version: 4.5

/**
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('https://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat updates-table" id="update-themes-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<td class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        $checkbox_id = 'checkbox_' . md5($theme->get('Name'));
        ?>
		<tr>
			<td class="check-column">
				<input type="checkbox" name="checked[]" id="<?php 
        echo $checkbox_id;
        ?>" value="<?php 
        echo esc_attr($stylesheet);
        ?>" />
				<label for="<?php 
        echo $checkbox_id;
        ?>" class="screen-reader-text"><?php 
        /* translators: %s: theme name */
        printf(__('Select %s'), $theme->display('Name'));
        ?></label>
			</td>
			<td class="plugin-title"><p>
				<img src="<?php 
        echo esc_url($theme->get_screenshot());
        ?>" width="85" height="64" class="updates-table-screenshot" alt="" />
				<strong><?php 
        echo $theme->display('Name');
        ?></strong>
				<?php 
        /* translators: 1: theme version, 2: new version */
        printf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']);
        ?>
			</p></td>
		</tr>
		<?php 
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<td class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></td>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 4.4

/**
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h2>' . __('Themes') . '</h2>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h2><?php 
    _e('Themes');
    ?></h2>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('https://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" id="update-themes-table">
	<thead>
	<tr>
		<td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' alt='' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 4.3

/**
 * @since 2.9.0
 */
function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h3>' . __('Themes') . '</h3>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h3><?php 
    _e('Themes');
    ?></h3>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('https://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" id="update-themes-table">
	<thead>
	<tr>
		<td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 4.2

function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h3>' . __('Themes') . '</h3>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h3><?php 
    _e('Themes');
    ?></h3>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('https://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" id="update-themes-table">
	<thead>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>

	<tfoot>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 3.9

function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h3>' . __('Themes') . '</h3>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h3><?php 
    _e('Themes');
    ?></h3>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('http://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" id="update-themes-table">
	<thead>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tfoot>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 3.8

function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h3>' . __('Themes') . '</h3>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h3><?php 
    _e('Themes');
    ?></h3>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('http://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" cellspacing="0" id="update-themes-table">
	<thead>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tfoot>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}

WordPress Version: 3.7

function list_theme_updates()
{
    $themes = get_theme_updates();
    if (empty($themes)) {
        echo '<h3>' . __('Themes') . '</h3>';
        echo '<p>' . __('Your themes are all up to date.') . '</p>';
        return;
    }
    $form_action = 'update-core.php?action=do-theme-upgrade';
    ?>
<h3><?php 
    _e('Themes');
    ?></h3>
<p><?php 
    _e('The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.');
    ?></p>
<p><?php 
    printf(__('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), __('http://codex.wordpress.org/Child_Themes'));
    ?></p>
<form method="post" action="<?php 
    echo esc_url($form_action);
    ?>" name="upgrade-themes" class="upgrade">
<?php 
    wp_nonce_field('upgrade-core');
    ?>
<p><input id="upgrade-themes" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
<table class="widefat" cellspacing="0" id="update-themes-table">
	<thead>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</thead>

	<tfoot>
	<tr>
		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php 
    _e('Select All');
    ?></label></th>
	</tr>
	</tfoot>
	<tbody class="plugins">
<?php 
    foreach ($themes as $stylesheet => $theme) {
        echo "\n\t<tr class='active'>\n\t\t<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>\n\t\t<td class='plugin-title'><img src='" . esc_url($theme->get_screenshot()) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme->display('Version'), $theme->update['new_version']) . "</td>\n\t</tr>";
    }
    ?>
	</tbody>
</table>
<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php 
    esc_attr_e('Update Themes');
    ?>" name="upgrade" /></p>
</form>
<?php 
}