Doracoin
i@doracoin.me
让 WordPress 支持 SVG 格式上传

WordPress 默认不支持 SVG 格式文件的上传,提示出于安全的考虑,不支持此文件类型。但是随着 SVG 格式图标开始普遍使用于网站,我们需要比 WordPress 稍稍加快脚部了。

方法很简单,将以下代码加入主题文件夹 functions.php 中即可。

function my_upload_mimes($mimes = array()) {
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
add_filter('upload_mimes', 'my_upload_mimes');

若要支持其他格式的文件(如rar等),参照第二行代码举一反三。

但这种方法在更换主题后就不会生效了,所以建议使用如下方法:

wp-includes/functions.php 中找到 wp_get_mime_types() 函数,在其中按照对应格式添加即可。

/**
 * Retrieve list of mime types and file extensions.
 *
 * @since 3.5.0
 * @since 4.2.0 Support was added for GIMP (xcf) files.
 *
 * @return array Array of mime types keyed by the file extension regex corresponding to those types.
 */
function wp_get_mime_types() {
    /**
     * Filters the list of mime types and file extensions.
     *
     * This filter should be used to add, not remove, mime types. To remove
     * mime types, use the {@see 'upload_mimes'} filter.
     *
     * @since 3.5.0
     *
     * @param array $wp_get_mime_types Mime types keyed by the file extension regex
     *                                 corresponding to those types.
     */
    return apply_filters( 'mime_types', array(
    // Image formats.
    'svg' => 'image/svg+xml',
    'jpg|jpeg|jpe' => 'image/jpeg',
    'gif' => 'image/gif',
    'png' => 'image/png',
    'bmp' => 'image/bmp',
    'tiff|tif' => 'image/tiff',
    'ico' => 'image/x-icon',
    // 以下省略
    ) );
}

到媒体库界面再次上传一下试试,就可以成功上传了。

参考文章:WordPress 教程:让 WordPress 支持 SVG 等格式的多媒体上传

本站文章除注明转载外,一律采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议进行许可,转载请注明出处

发表评论

textsms
account_circle
email

让 WordPress 支持 SVG 格式上传
WordPress 默认不支持 SVG 格式文件的上传,提示出于安全的考虑,不支持此文件类型。但是随着 SVG 格式图标开始普遍使用于网站,我们需要比 WordPress 稍稍加快脚部了。 方法很简单,将…
扫描二维码继续阅读
2018-05-08