Theme_Installer_Skin::do_overwrite(): bool
- Since
- 5.5.0
- Source
wp-admin/includes/class-theme-installer-skin.php:213
Compatibility
- WordPress
- since 5.5.0
- PHP
- 7.4–8.6-dev
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0), 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
- Scaling
- Scales with input
- Instructions
- 4–279
- Plugin surface
- 2 hooks
- Called by
- 1
Touches nothing outside its own arguments.
The body loops, so the work grows with how much data it finds.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 376.
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.
1 place in core call this, so the cost is paid more often than your own code shows.
What it touches
- hookthird-party callbacks
apply_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.
| When | Instructions | Calls it makes |
|---|---|---|
| always | 4 | none |
!is_wp_error() | 10 | is_wp_error() |
is_wp_error() | 35–36 | is_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) | 168–171 | is_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) | 175–178 | is_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) | 176–179 | is_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) | 180–183 | is_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) | 183–186 | is_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) | 184–187 | is_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) | 187–190 | is_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) | 188–191 | is_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) | 189–192 | is_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 279 instructions
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions) | 191–194 | is_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) | 192–195 | is_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) | 195–198 | is_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) | 196–199 | is_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) | 196–199 | is_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) | 197–200 | is_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) | 199–202 | is_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) | 201–204 | is_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) | 203–206 | is_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) | 204–207 | is_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) | 204–207 | is_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) | 205–208 | is_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) | 208–211 | is_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) | 209–212 | is_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) | 210–215 | is_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) | 211–214 | is_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) | 212–215 | is_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) | 213–216 | is_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) | 216–219 | is_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) | 217–222 | is_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) | 217–220 | is_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) | 218–223 | is_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) | 220–223 | is_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) | 222–227 | is_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) | 224–227 | is_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) | 225–230 | is_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) | 225–228 | is_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) | 226–231 | is_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) | 229–234 | is_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) | 230–235 | is_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) | 231–236 | is_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) | 232–235 | is_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) | 233–238 | is_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) | 234–239 | is_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) | 237–242 | is_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) | 238–243 | is_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) | 238–243 | is_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) | 239–244 | is_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) | 241–246 | is_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) | 243–248 | is_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) | 245–250 | is_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) | 246–251 | is_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) | 246–251 | is_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) | 247–252 | is_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) | 250–255 | is_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) | 251–256 | is_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) | 253–258 | is_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) | 254–259 | is_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) | 255–260 | is_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) | 258–263 | is_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) | 259–264 | is_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) | 262–267 | is_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) | 266–271 | is_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) | 267–272 | is_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) | 274–279 | is_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
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 376 | 4–279 | 33 | |
| 8.5 | 376 | 4–279 | 33 | |
| 8.4 | 376 | 4–279 | 33 | 6 fewer instructions than PHP 8.3 |
| 8.3 | 382 | 4–285 | 33 | |
| 8.2 | 382 | 4–285 | 33 | |
| 8.1 | 382 | 4–285 | 33 | 2 fewer instructions than PHP 7.4 |
| 7.4 | 384 | 4–285 | 33 |
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:
- apply_filters( install_theme_overwrite_comparison )filterline 305 (+92 into the body)
Filters the compare table output for overwriting a theme package on upload.
- apply_filters( install_theme_overwrite_actions )filterline 388 (+175 into the body)
Filters the list of action links available following a single theme installation failure when overwriting is allowed.
Uses · 16
- is_wp_error()Checks whether the given variable is a WordPress Error.
- wp_get_themes()Returns an array of WP_Theme objects based on the arguments.
- wp_normalize_path()Normalizes a filesystem path.
- esc_html__()Retrieves the translation of $text and escapes it for safe use in HTML output.
- __()Retrieves the translation of $text.
- esc_html_x()Translates string with gettext context, and escapes it for safe use in HTML output.
- wp_strip_all_tags()Properly strips all HTML tags including 'script' and 'style'.
- apply_filters()Calls the callback functions that have been added to a filter hook.
- is_php_version_compatible()Checks compatibility with the current PHP version.
- esc_html()Escaping for HTML blocks.
- is_wp_version_compatible()Checks compatibility with the current WordPress version.
- wp_get_wp_version()Returns the current WordPress version.
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
- Theme_Installer_Skin::after()Performs an action following a single theme install.
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( 'Installed', '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.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 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.