wppaste
WordPress

Theme_Installer_Skin::do_overwrite(): bool

Since
5.5.0
Source
wp-admin/includes/class-theme-installer-skin.php:203
Checks if the theme can be overwritten and outputs the HTML for overwriting a theme on upload.

Compatibility

WordPress
since 5.5.0
PHP
7.4–8.6-dev
  • 6.7.10
  • 6.8.11
  • 6.9.10
  • 7.0.7
  • 7.1.3

Present in every tracked release (6.7.10 to 7.1.3), and compiles on PHP 7.4 through 8.6-dev.

Return value

bool
Whether the theme can be overwritten and HTML was outputted.

Performance profile

How much work a call to Theme_Installer_Skin::do_overwrite() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Light

Touches nothing outside its own arguments.

Scaling
Scales with input

The body loops, so the work grows with how much data it finds.

Instructions
4–281

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 380.

Plugin surface
2 hooks

Third-party callbacks on 'install_theme_overwrite_comparison', 'install_theme_overwrite_actions' run inside this call, and their cost is not bounded by anything here.

Called by
1

1 place in core call this, so the cost is paid more often than your own code shows.

What it touches

  • hookthird-party callbacksapply_filters()called directly

Further down the call graph this can also reach transient, option, cache, serialize and query. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.

What one call costs · 67 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost Theme_Installer_Skin::do_overwrite() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
always4none
!is_wp_error()10is_wp_error()
is_wp_error()35–36is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)170–173is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)177–180is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)178–181is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)182–185is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)185–188is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)186–189is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)189–192is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)190–193is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)191–194is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
55 further outcomes, up to 281 instructions
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)193–196is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)194–197is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)197–200is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)198–201is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)198–201is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)199–202is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)201–204is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)203–206is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)205–208is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)206–209is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)206–209is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)207–210is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)210–213is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)211–214is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)212–217is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)213–216is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)214–217is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)215–218is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)218–221is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)219–224is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)219–222is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)220–225is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)222–225is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)224–229is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)226–229is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)227–232is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)227–230is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)228–233is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)231–236is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)232–237is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)233–238is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)234–237is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)235–240is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)236–241is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)239–244is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)240–245is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)240–245is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)241–246is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)243–248is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)245–250is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)247–252is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)248–253is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)248–253is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)249–254is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)252–257is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)253–258is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)255–260is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)256–261is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)257–262is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)260–265is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)261–266is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)264–269is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)268–273is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)269–274is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)276–281is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()

This body has more branch combinations than are worth enumerating, so the table covers the outcomes found first rather than every one that exists.

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev3804–28133
8.53804–28133
8.43804–281336 fewer instructions than PHP 8.3
8.33864–28733
8.23864–28733
8.13864–287334 fewer instructions than PHP 7.4
7.43904–28933

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Hooks and filters fired · 2

2 hooks fire while Theme_Installer_Skin::do_overwrite() runs, in this order:

  1. apply_filters( install_theme_overwrite_comparison )filterline 295 (+92 into the body)

    Filters the compare table output for overwriting a theme package on upload.

  2. apply_filters( install_theme_overwrite_actions )filterline 378 (+175 into the body)

    Filters the list of action links available following a single theme installation failure when overwriting is allowed.

Uses · 16

Show all 16
  • wp_nonce_url()Retrieves URL with nonce added to URL query.
  • add_query_arg()Retrieves a modified URL query string.
  • _x()Retrieves translated string with gettext context.
  • Theme_Installer_Skin::feedback()

Used by · 1

Source code

	private function do_overwrite() {		if ( 'upload' !== $this->type || ! is_wp_error( $this->result ) || 'folder_exists' !== $this->result->get_error_code() ) {			return false;		} 		$folder = $this->result->get_error_data( 'folder_exists' );		$folder = rtrim( $folder, '/' ); 		$current_theme_data = false;		$all_themes         = wp_get_themes( array( 'errors' => null ) ); 		foreach ( $all_themes as $theme ) {			$stylesheet_dir = wp_normalize_path( $theme->get_stylesheet_directory() ); 			if ( rtrim( $stylesheet_dir, '/' ) !== $folder ) {				continue;			} 			$current_theme_data = $theme;		} 		$new_theme_data = $this->upgrader->new_theme_data; 		if ( ! $current_theme_data || ! $new_theme_data ) {			return false;		} 		echo '<h2 class="update-from-upload-heading">' . esc_html__( 'This theme is already installed.' ) . '</h2>'; 		// Check errors for active theme.		if ( is_wp_error( $current_theme_data->errors() ) ) {			$this->feedback( 'current_theme_has_errors', $current_theme_data->errors()->get_error_message() );		} 		$this->is_downgrading = version_compare( $current_theme_data['Version'], $new_theme_data['Version'], '>' ); 		$is_invalid_parent = false;		if ( ! empty( $new_theme_data['Template'] ) ) {			$is_invalid_parent = ! in_array( $new_theme_data['Template'], array_keys( $all_themes ), true );		} 		$rows = array(			'Name'        => __( 'Theme name' ),			'Version'     => __( 'Version' ),			'Author'      => __( 'Author' ),			'RequiresWP'  => __( 'Required WordPress version' ),			'RequiresPHP' => __( 'Required PHP version' ),			'Template'    => __( 'Parent theme' ),		); 		$table  = '<table class="update-from-upload-comparison"><tbody>';		$table .= '<tr><th></th><th>' . esc_html_x( 'Active', 'theme' ) . '</th><th>' . esc_html_x( 'Uploaded', 'theme' ) . '</th></tr>'; 		$is_same_theme = true; // Let's consider only these rows. 		foreach ( $rows as $field => $label ) {			$old_value = $current_theme_data->display( $field, false );			$old_value = $old_value ? (string) $old_value : '-'; 			$new_value = ! empty( $new_theme_data[ $field ] ) ? (string) $new_theme_data[ $field ] : '-'; 			if ( $old_value === $new_value && '-' === $new_value && 'Template' === $field ) {				continue;			} 			$is_same_theme = $is_same_theme && ( $old_value === $new_value ); 			$diff_field     = ( 'Version' !== $field && $new_value !== $old_value );			$diff_version   = ( 'Version' === $field && $this->is_downgrading );			$invalid_parent = false; 			if ( 'Template' === $field && $is_invalid_parent ) {				$invalid_parent = true;				$new_value     .= ' ' . __( '(not found)' );			} 			$table .= '<tr><td class="name-label">' . $label . '</td><td>' . wp_strip_all_tags( $old_value ) . '</td>';			$table .= ( $diff_field || $diff_version || $invalid_parent ) ? '<td class="warning">' : '<td>';			$table .= wp_strip_all_tags( $new_value ) . '</td></tr>';		}

Changelog

Introduced in 5.5.0. Unchanged from 6.7.10 through 7.1.3.

  1. 6.7.10
  2. 6.8.11
  3. 6.9.10
  4. 7.0.7
  5. 7.1.3

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.7.10 tag, from src/wp-admin/includes/class-theme-installer-skin.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.