Home » Hooks » mime_types

The "mime_types" hook in WordPress is a powerful tool that allows developers to modify or add new MIME types, which are used to identify different types of files in web development. MIME types are essential for proper handling and interpretation of files by web servers and browsers.

This hook is fired during the process of registering MIME types, giving developers the ability to manipulate these types before they are registered. By utilizing this hook, developers can add custom MIME types for specific file formats or modify existing ones to suit their needs.

The "mime_types" hook is commonly used in scenarios where you want to extend the default MIME types supported by WordPress, such as adding support for lesser-known file formats or proprietary file types. It can also be used to restrict or block certain MIME types from being uploaded or processed within your WordPress website.

Now, let’s take a look at an example usage code to better understand how the "mime_types" hook can be implemented:

// Add a custom MIME type for a specific file format
function custom_mime_types($mime_types) {
    $mime_types['my-file-format'] = 'application/my-file-format';
    return $mime_types;
add_filter('mime_types', 'custom_mime_types');

In this example, we’re adding a custom MIME type called "my-file-format" with the value "application/my-file-format". By using the "mime_types" filter hook, we modify the array of MIME types provided by WordPress and append our custom MIME type to it.

By adding this code to your theme’s functions.php file or a custom plugin, any file with the ".my-file-format" extension will be recognized as a valid file type with the "application/my-file-format" MIME type.

Remember, when using the "mime_types" hook, it’s important to be cautious and ensure that the MIME types you add or modify are valid and conform to industry standards.

Learn More on WordPress.org

WordPress snippets using the mime_types hook

Register an account to save your snippets or go Pro to get more features.