Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: update_feedback

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 6 times in this file.

Line Code
898       * 2. Before Maintenance Mode is enabled.
899       * 3. Before WordPress begins copying over the necessary files.
900       * 4. Before Maintenance Mode is disabled.
901       * 5. Before the database is upgraded.
902       *
903       * @since 2.5.0
904       *
905       * @param string $feedback The core update feedback messages.
906       */
907      apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) );
908
909      // Sanity check the unzipped distribution.
910      $distro = '';
911      $roots  = array( '/wordpress/', '/wordpress-mu/' );
912      foreach ( $roots as $root ) {
913           if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) {
914                $distro = $root;
915                break;
916           }
 
Line Code
1009                     /* translators: 1: WordPress version number, 2: The PHP extension name needed. */
1010                     __( 'The update cannot be installed because WordPress %1$s requires the %2$s PHP extension.' ),
1011                     $wp_version,
1012                     'JSON'
1013                )
1014           );
1015      }
1016
1017      /** This filter is documented in wp-admin/includes/update-core.php */
1018      apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) );
1019
1020      // Don't copy wp-content, we'll deal with that below
1021      // We also copy version.php last so failed updates report their old version
1022      $skip              = array( 'wp-content', 'wp-includes/version.php' );
1023      $check_is_writable = array();
1024
1025      // Check to see which files don't really need updating - only available for 3.7 and higher
1026      if ( function_exists( 'get_core_checksums' ) ) {
1027           // Find the local version of the working directory
 
Line Code
1071                $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
1072
1073                if ( $files_not_writable ) {
1074                     return new WP_Error( 'files_not_writable', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), implode( ', ', $error_data ) );
1075                }
1076           }
1077      }
1078
1079      /** This filter is documented in wp-admin/includes/update-core.php */
1080      apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) );
1081      // Create maintenance file to signal that we are upgrading
1082      $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
1083      $maintenance_file   = $to . '.maintenance';
1084      $wp_filesystem->delete( $maintenance_file );
1085      $wp_filesystem->put_contents( $maintenance_file, $maintenance_string, FS_CHMOD_FILE );
1086
1087      /** This filter is documented in wp-admin/includes/update-core.php */
1088      apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
1089      // Copy new versions of WP files into place.
1090      $result = _copy_dir( $from . $distro, $to, $skip );
1091      if ( is_wp_error( $result ) ) {
1092           $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
1093      }
1094
1095      // Since we know the core files have copied over, we can now copy the version file
1096      if ( ! is_wp_error( $result ) ) {
1097           if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
 
Line Code
1166                     $result = copy_dir( $from . $distro . 'wp-content/languages/', $wp_lang_dir );
1167                     if ( is_wp_error( $result ) ) {
1168                          $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
1169                     }
1170                }
1171           }
1172      }
1173
1174      /** This filter is documented in wp-admin/includes/update-core.php */
1175      apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
1176      // Remove maintenance file, we're done with potential site-breaking changes
1177      $wp_filesystem->delete( $maintenance_file );
1178
1179      // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
1180      if ( '3.5' == $old_wp_version ) {
1181           if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' ) ) {
1182                $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' );
1183           }
1184      }
 
Line Code
1255
1256      // Remove any Genericons example.html's from the filesystem
1257      _upgrade_422_remove_genericons();
1258
1259      // Remove the REST API plugin if its version is Beta 4 or lower
1260      _upgrade_440_force_deactivate_incompatible_plugins();
1261
1262      // Upgrade DB with separate request
1263      /** This filter is documented in wp-admin/includes/update-core.php */
1264      apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
1265      $db_upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' );
1266      wp_remote_post( $db_upgrade_url, array( 'timeout' => 60 ) );
1267
1268      // Clear the cache to prevent an update_option() from saving a stale db_version to the cache
1269      wp_cache_flush();
1270      // (Not all cache back ends listen to 'flush')
1271      wp_cache_delete( 'alloptions', 'options' );
1272
1273      // Remove working directory