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
2102                 * Filters the result when generating a unique file name.
2103                 *
2104                 * @since 4.5.0
2105                 *
2106                 * @param string        $filename                 Unique file name.
2107                 * @param string        $ext                      File extension, eg. ".png".
2108                 * @param string        $dir                      Directory path.
2109                 * @param callable|null $unique_filename_callback Callback function that generates the unique file name.
2110                 */
2111                return apply_filters( 'wp_unique_filename', $filename2, $ext, $dir, $unique_filename_callback );
2112           }
2113
2114           while ( file_exists( $dir . "/$filename" ) ) {
2115                $new_number = (int) $number + 1;
2116                if ( '' == "$number$ext" ) {
2117                     $filename = "$filename-" . $new_number;
2118                } else {
2119                     $filename = str_replace( array( "-$number$ext", "$number$ext" ), "-" . $new_number . $ext, $filename );
2120                }
2121                $number = $new_number;
2122           }
2123      }
2124
2125      /** This filter is documented in wp-includes/functions.php */
2126      return apply_filters( 'wp_unique_filename', $filename, $ext, $dir, $unique_filename_callback );
2127 }
2128
2129 /**
2130  * Create a file in the upload folder with given content.
2131  *
2132  * If there is an error, then the key 'error' will exist with the error message.
2133  * If success, then the key 'file' will have the unique file path, the 'url' key
2134  * will have the link to the new file. and the 'error' key will be set to false.
2135  *