Allow Only Images and PDFs for Non-Administrators
Limits the file types authors, editors and other non-admin users can upload to common images and PDF documents.
Opens WPIDE on
Code
// Allowed upload types for non-administrators (WordPress mime keys).
$wpide_allowed_upload_types = array( 'jpg|jpeg|jpe', 'png', 'gif', 'webp', 'avif', 'pdf' );
add_filter( 'upload_mimes', function ( $mimes, $user = null ) use ( $wpide_allowed_upload_types ) {
$user_id = $user instanceof WP_User ? $user->ID : ( $user ? (int) $user : get_current_user_id() );
if ( user_can( $user_id, 'manage_options' ) ) {
return $mimes;
}
return array_intersect_key( $mimes, array_flip( $wpide_allowed_upload_types ) );
}, 20, 2 );
Notes
Administrators keep the full list. Add extensions in the same format WordPress uses, such as 'mp4|m4v'.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.