WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )apply_filters( "hook_name", "what_to_filter" ).Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.
This hook occurs 3 times in this file.
| Line | Code |
|---|---|
| 303 | |
| 304 | if ( !$mysql_compat && !$php_compat ) |
| 305 | return new WP_Error( 'php_mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) ); |
| 306 | elseif ( !$php_compat ) |
| 307 | return new WP_Error( 'php_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ) ); |
| 308 | elseif ( !$mysql_compat ) |
| 309 | return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) ); |
| 310 | |
| 311 | // Sanity check the unzipped distribution |
| 312 | apply_filters('update_feedback', __('Verifying the unpacked files…')); |
| 313 | $distro = ''; |
| 314 | $roots = array( '/wordpress', '/wordpress-mu' ); |
| 315 | foreach( $roots as $root ) { |
| 316 | if ( $wp_filesystem->exists($from . $root . '/wp-settings.php') && $wp_filesystem->exists($from . $root . '/wp-admin/admin.php') && |
| 317 | $wp_filesystem->exists($from . $root . '/wp-includes/functions.php') ) { |
| 318 | $distro = $root; |
| 319 | break; |
| 320 | } |
| 321 | } |
| 322 | if ( !$distro ) { |
| 323 | $wp_filesystem->delete($from, true); |
| 324 | return new WP_Error('insane_distro', __('The update could not be unpacked') ); |
| 325 | } |
| 326 | |
| 327 | apply_filters('update_feedback', __('Installing the latest version…')); |
| 328 | |
| 329 | // Create maintenance file to signal that we are upgrading |
| 330 | $maintenance_string = '<?php $upgrading = ' . time() . '; ?>'; |
| 331 | $maintenance_file = $to . '.maintenance'; |
| 332 | $wp_filesystem->delete($maintenance_file); |
| 333 | $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE); |
| 334 | |
| 335 | // Copy new versions of WP files into place. |
| 336 | $result = copy_dir($from . $distro, $to); |
| Line | Code |
| 343 | // Remove old files |
| 344 | foreach ( $_old_files as $old_file ) { |
| 345 | $old_file = $to . $old_file; |
| 346 | if ( !$wp_filesystem->exists($old_file) ) |
| 347 | continue; |
| 348 | $wp_filesystem->delete($old_file, true); |
| 349 | } |
| 350 | |
| 351 | // Upgrade DB with separate request |
| 352 | apply_filters('update_feedback', __('Upgrading database…')); |
| 353 | $db_upgrade_url = admin_url('upgrade.php?step=upgrade_db'); |
| 354 | wp_remote_post($db_upgrade_url, array('timeout' => 60)); |
| 355 | |
| 356 | // Remove working directory |
| 357 | $wp_filesystem->delete($from, true); |
| 358 | |
| 359 | // Force refresh of update information |
| 360 | if ( function_exists('delete_site_transient') ) |
| 361 | delete_site_transient('update_core'); |