我上传有问题。媒体库上的ppsx格式。所有powerpoint格式(pptx ppt、pps)都可以毫无问题地上传,除了。ppsx格式,我不知道为什么。
当我尝试上载此格式时,我收到以下消息:Sorry, this file type is not permitted for security reasons.
即使默认情况下WordPress(wp\\u get\\u mime\\u types())允许。ppsx,我尝试了以下方法,但方法1和2不起作用,方法3不安全,不适用于无管理员用户。
First Method:
通过“我的主题”功能添加文件类型。php(此处确认Microsoft MIME类型):
function allow_file_types($mime_types){
$mime_types[\'ppsx\'] = \'application/vnd.openxmlformats-officedocument.presentationml.slideshow\';
return $mime_types;
}
add_filter(\'upload_mimes\', \'allow_file_types\', 1, 1);
Second Method:安装插件,这与我的功能完全相同。php方法。
WP额外文件类型WP添加Mime类型
Third Method:在wp配置中添加这行代码。php
define(‘ALLOW_UNFILTERED_UPLOADS’, true)
此方法对我来说不安全,只有管理员可以上载。ppsx文件)
method that partially works (method 4)
部分有效的唯一方法是添加以下代码:
function my_check_filetype_and_ext( $info, $file, $filename, $mimes, $real_mime )
{
if ( empty( $check[\'ext\'] ) && empty( $check[\'type\'] ) )
{
$secondaryMimetypes = [\'ppsx\' => \'application/vnd.openxmlformats-officedocument.presentationml.presentation\'];
// Run another check, but only for our secondary mime and not on core mime types.
remove_filter( \'wp_check_filetype_and_ext\', \'my_check_filetype_and_ext\', 99, 5 );
$info = wp_check_filetype_and_ext( $file, $filename, $secondaryMimetypes );
add_filter( \'wp_check_filetype_and_ext\', \'my_check_filetype_and_ext\', 99, 5 );
}
return $info;
}
add_filter( \'wp_check_filetype_and_ext\', \'my_check_filetype_and_ext\', 99, 5 );
问题是如果我们在函数上添加此代码。php我们将能够上传。ppsx文件,但所有其他格式无法上载到媒体库中。
提前感谢您的帮助