绿站
绿色文摘
今天是:

交流 | 搜索 | +发贴

WordPress中设置只允许上传指定文件类型的两个方法
nydalu 2024年5月21日 13次

在WordPress中,如果你想限制只允许上传特定类型的文件,你可以通过修改wp-includes/functions.php文件(不推荐直接修改核心文件,因为这会在更新WordPress时被覆盖)或使用插件来实现。然而,更推荐的方法是使用插件或自定义函数来添加这种限制。

以下是两种实现这一需求的方法:

方法一:使用插件
你可以使用像Limit File Upload Types for WordPress这样的插件来限制上传的文件类型。这个插件允许你轻松地设置允许上传的文件类型列表。

在WordPress的后台管理界面中,转到“插件” > “安装插件”。
在搜索框中输入“Limit File Upload Types for WordPress”或类似的插件名称。
找到插件并安装它。
激活插件后,转到插件的设置页面,并配置允许上传的文件类型。
方法二:使用自定义函数(在functions.php中)
如果你不想使用插件,你可以在你的主题的functions.php文件中添加自定义函数来限制上传的文件类型。但是,请注意,这种方法涉及到直接修改主题文件,所以在更新主题时可能会丢失你的更改。

以下是一个简单的示例函数,它使用wp_handle_upload钩子来检查上传的文件类型,并只允许特定的文件类型:

function restrict_upload_file_types($file, $context) {
$allowed_types = array(‘jpg’, ‘jpeg’, ‘png’, ‘gif’); // 允许的文件类型列表

$file_type = strtolower(pathinfo($file[‘name’], PATHINFO_EXTENSION));

if (!in_array($file_type, $allowed_types)) {
wp_die(‘不允许的文件类型’);
}

// 其他的检查和处理逻辑…

return $file;
}

add_filter(‘wp_handle_upload’, ‘restrict_upload_file_types’, 10, 2);
但是,请注意,上述示例只是一个基本的框架,并且可能不会在所有情况下都按预期工作。WordPress的上传系统比较复杂,涉及到多个钩子和函数。为了更全面地限制上传的文件类型,你可能需要更深入地了解WordPress的上传机制和钩子系统。

此外,如果你正在处理媒体库中的文件上传(而不是通过自定义表单),那么你可能需要使用不同的钩子或方法来限制上传的文件类型。在这种情况下,你可能需要查看与媒体库上传相关的WordPress文档或查找相关的插件和解决方案。



关于 ·登录·管理
加载0.289 查询 15