纯代码实现WordPress上传文件限制

方法一:WordPress文件上传大小限制

以下是实现WordPress文件上传大小限制的完整代码方案,将代码添加到主题的functions.php文件中即可生效:

// wordpress设置媒体文件上传大小
//  function set_upload_limit() {
//      return 2 * 1024 * 1024; // 直接设置2MB限制
//  }
//  add_filter('upload_size_limit', 'set_upload_limit');

方法二:检查上传文件的类型并设置相应的大小限制

// 设置特定文件类型的上传大小限制
function custom_upload_size_limit($file) {
    $filetype = wp_check_filetype($file['name']);
    $ext = strtolower($filetype['ext']);
    
    // 获取当前文件大小(MB)
    $file_size = $file['size'] / 1024 / 1024;
    
    // 图片类型限制
    if (in_array($ext, array('jpg', 'jpeg', 'png', 'gif'))) {
        $max_size = 2; // 2MB
        if ($file_size > $max_size) {
            $file['error'] = sprintf('图片文件大小不能超过%dMB', $max_size);
        }
    }
    // ZIP文件限制
    elseif ($ext === 'zip') {
        $max_size = 300; // 300MB
        if ($file_size > $max_size) {
            $file['error'] = sprintf('ZIP文件大小不能超过%dMB', $max_size);
        }
    }
    
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'custom_upload_size_limit');

这段代码会检查上传文件的类型并设置相应的大小限制,同时会修改错误提示信息让用户更清楚上传限制。图片文件(JPG/JPEG/PNG/GIF)限制为2MB,ZIP文件限制为300MB。

提示:仅供参考