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 |
---|---|
609 | * @param string $to Path to old WordPress installation. |
610 | * @return WP_Error|null WP_Error on failure, null on success. |
611 | */ |
612 | function update_core($from, $to) { |
613 | global $wp_filesystem, $_old_files, $_new_bundled_files, $wpdb; |
614 |
|
615 | @set_time_limit( 300 ); |
616 |
|
617 | // Sanity check the unzipped distribution |
618 | apply_filters( 'update_feedback', __('Verifying the unpacked files…') ); |
619 | $distro = ''; |
620 | $roots = array( '/wordpress/', '/wordpress-mu/' ); |
621 | foreach ( $roots as $root ) { |
622 | if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) { |
623 | $distro = $root; |
624 | break; |
625 | } |
626 | } |
627 | if ( ! $distro ) { |
Line | Code |
654 | $wp_filesystem->delete($from, true); |
655 |
|
656 | if ( !$mysql_compat && !$php_compat ) |
657 | 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 ) ); |
658 | elseif ( !$php_compat ) |
659 | 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 ) ); |
660 | elseif ( !$mysql_compat ) |
661 | 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 ) ); |
662 |
|
663 | apply_filters('update_feedback', __('Installing the latest version…')); |
664 |
|
665 | // Create maintenance file to signal that we are upgrading |
666 | $maintenance_string = '<?php $upgrading = ' . time() . '; ?>'; |
667 | $maintenance_file = $to . '.maintenance'; |
668 | $wp_filesystem->delete($maintenance_file); |
669 | $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE); |
670 |
|
671 | // Copy new versions of WP files into place. |
672 | $result = _copy_dir($from . $distro, $to, array('wp-content') ); |
Line | Code |
737 | // Remove old files |
738 | foreach ( $_old_files as $old_file ) { |
739 | $old_file = $to . $old_file; |
740 | if ( !$wp_filesystem->exists($old_file) ) |
741 | continue; |
742 | $wp_filesystem->delete($old_file, true); |
743 | } |
744 |
|
745 | // Upgrade DB with separate request |
746 | apply_filters('update_feedback', __('Upgrading database…')); |
747 | $db_upgrade_url = admin_url('upgrade.php?step=upgrade_db'); |
748 | wp_remote_post($db_upgrade_url, array('timeout' => 60)); |
749 |
|
750 | // Remove working directory |
751 | $wp_filesystem->delete($from, true); |
752 |
|
753 | // Force refresh of update information |
754 | if ( function_exists('delete_site_transient') ) |
755 | delete_site_transient('update_core'); |