Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: wp_unique_filename

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 2 times in this file.

Line Code
2081                 * Filters the result when generating a unique file name.
2082                 *
2083                 * @since 4.5.0
2084                 *
2085                 * @param string        $filename                 Unique file name.
2086                 * @param string        $ext                      File extension, eg. ".png".
2087                 * @param string        $dir                      Directory path.
2088                 * @param callable|null $unique_filename_callback Callback function that generates the unique file name.
2089                 */
2090                return apply_filters( 'wp_unique_filename', $filename2, $ext, $dir, $unique_filename_callback );
2091           }
2092
2093           while ( file_exists( $dir . "/$filename" ) ) {
2094                $new_number = (int) $number + 1;
2095                if ( '' == "$number$ext" ) {
2096                     $filename = "$filename-" . $new_number;
2097                } else {
2098                     $filename = str_replace( array( "-$number$ext", "$number$ext" ), "-" . $new_number . $ext, $filename );
2099                }
2100                $number = $new_number;
2101           }
2102      }
2103
2104      /** This filter is documented in wp-includes/functions.php */
2105      return apply_filters( 'wp_unique_filename', $filename, $ext, $dir, $unique_filename_callback );
2106 }
2107
2108 /**
2109  * Create a file in the upload folder with given content.
2110  *
2111  * If there is an error, then the key 'error' will exist with the error message.
2112  * If success, then the key 'file' will have the unique file path, the 'url' key
2113  * will have the link to the new file. and the 'error' key will be set to false.
2114  *