Wordpress - Set limit to media upload?

Yes, you can use the wp_handle_upload_prefilter that allows you to stop the uploading process if a specific condition is not accomplished.

In your case, you could try this code snippet:

function limit_upload_size( $file ) {

    // Set the desired file size limit
    $file_size_limit = 1024; // 1MB in KB

    // exclude admins
    if ( ! current_user_can( 'manage_options' ) ) {

        $current_size = $file['size'];
        $current_size = $current_size / 1024; //get size in KB

        if ( $current_size > $file_size_limit ) {
            $file['error'] = sprintf( __( 'ERROR: File size limit is %d KB.' ), $file_size_limit );
        }

    }

    return $file;

}
add_filter ( 'wp_handle_upload_prefilter', 'limit_upload_size', 10, 1 );

Hope it helps!


You can hook into upload_size_limit and set a maximum filesize:

// Change the upload size to 1MB
add_filter( 'upload_size_limit', 'wpse_228300_change_upload_size' ); 
function wpse_228300_change_upload_size()
{
    return 1000 * 1024;
}

Tags:

Media

Uploads