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
2062                 * Filter the result when generating a unique file name.
2063                 *
2064                 * @since 4.5.0
2065                 *
2066                 * @param string        $filename                 Unique file name.
2067                 * @param string        $ext                      File extension, eg. ".png".
2068                 * @param string        $dir                      Directory path.
2069                 * @param callable|null $unique_filename_callback Callback function that generates the unique file name.
2070                 */
2071                return apply_filters( 'wp_unique_filename', $filename2, $ext, $dir, $unique_filename_callback );
2072           }
2073
2074           while ( file_exists( $dir . "/$filename" ) ) {
2075                if ( '' == "$number$ext" ) {
2076                     $filename = "$filename-" . ++$number;
2077                } else {
2078                     $filename = str_replace( array( "-$number$ext", "$number$ext" ), "-" . ++$number . $ext, $filename );
2079                }
2080           }
2081      }
2082
2083      /** This filter is documented in wp-includes/functions.php */
2084      return apply_filters( 'wp_unique_filename', $filename, $ext, $dir, $unique_filename_callback );
2085 }
2086
2087 /**
2088  * Create a file in the upload folder with given content.
2089  *
2090  * If there is an error, then the key 'error' will exist with the error message.
2091  * If success, then the key 'file' will have the unique file path, the 'url' key
2092  * will have the link to the new file. and the 'error' key will be set to false.
2093  *