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.
Line | Code |
---|---|
192 | //Locate which directory to copy to the new folder, This is based on the actual folder holding the files. |
193 | if ( 1 == count($source_files) && $wp_filesystem->is_dir( trailingslashit($source) . $source_files[0] . '/') ) //Only one folder? Then we want its contents. |
194 | $source = trailingslashit($source) . trailingslashit($source_files[0]); |
195 | elseif ( count($source_files) == 0 ) |
196 | return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __( 'The plugin contains no files.' ) ); //There are no files? |
197 | else //Its only a single file, The upgrader will use the foldername of this file as the destination folder. foldername is based on zip filename. |
198 | $source = trailingslashit($source); |
199 |
|
200 | //Hook ability to change the source file location.. |
201 | $source = apply_filters('upgrader_source_selection', $source, $remote_source, $this); |
202 | if ( is_wp_error($source) ) |
203 | return $source; |
204 |
|
205 | //Has the source location changed? If so, we need a new source_files list. |
206 | if ( $source !== $remote_source ) |
207 | $source_files = array_keys( $wp_filesystem->dirlist($source) ); |
208 |
|
209 | //Protection against deleting files in any important base directories. |
210 | if ( in_array( $destination, array(ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes') ) ) { |