无法上载媒体库中的格式化文件

时间:2020-11-16 作者:Samuel

我上传有问题。媒体库上的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文件,但所有其他格式无法上载到媒体库中。

提前感谢您的帮助

1 个回复
SO网友:Will Ashworth

除了报告的bug之外,您还可以在wp-config.php 文件:

define( \'ALLOW_UNFILTERED_UPLOADS\', true );
如果您不想编辑wp-config.php 文件和/或您想要更精确地控制哪些文件类型可以上载到您的站点,您可以使用免费WP Extra File Types WordPress上的插件。组织机构

相关推荐

[VUE WARN]:呈现时出错:“TypeError:无法读取未定义的REST API的属性‘wp:FeaturedMedia’

我使用这段代码学习vuejs,并使用WordPress REST API制作一个公文包无限滚动。我可以呈现前十篇文章,但在滚动时,vue将停止工作,并出现与api提供的特色图像url相关的错误:[Vue warn]:呈现错误:“TypeError:无法读取未定义的属性“wp:featuredmedia”(在根目录中找到)引用错误的代码行是self.posts.push(data);TypeError:无法读取未定义的属性“wp:featuredmedia”这一行表示另一个错误:$.getJSON( \'w