如何允许单个 Wordpress 站点接受我的 .ttf 文件上传?

Posted

技术标签:

【中文标题】如何允许单个 Wordpress 站点接受我的 .ttf 文件上传?【英文标题】:How do I allow a single Wordpress site to accept my .ttf file upload? 【发布时间】:2017-05-30 18:55:50 【问题描述】:

我正在使用 Wordpress 的字体管理器插件。它有一个很好的选项来上传我已经保存到我的电脑的字体。我只需要以某种方式让 Wordpress 接受它,这样我就可以在这里使用它:

但是,我收到一个错误:Error uploading the file: Sorry, this file type is not permitted for security reasons.

如何让 Wordpress 暂时允许这样做?另外,这种方法还能行吗?最终目标是让它显示在上图中的下拉列表中,因为我需要更改标题文本的字体。我可以做任何需要的编程工作。

【问题讨论】:

【参考方案1】:

您可以使用代码 sn-p 添加对某些 mime 类型的支持,或使用插件来启用该功能。或者您可以通过将文件转换为压缩版本来完全避免此问题,例如使用在线转换器,如https://everythingfonts.com/ttf-to-woff

这是我在尝试解决您同样的问题时遇到的第一个问题;它不是最好的或最快的或任何东西:它只是有效。

【讨论】:

还有..为什么要投反对票?有什么问题,有什么可以改进的? 当然得到了我的支持,在线转换器的好建议!【参考方案2】:

不幸的是,functions.php 的代码 sn-p 或插件都不起作用。

我不得不临时将以下代码添加到 wp-config.php

define('ALLOW_UNFILTERED_UPLOADS', true);

当然,我一上传字体就删除它。

(但是将来我将尝试使用底部两个答案中建议的压缩字体版本)。

【讨论】:

【参考方案3】:

您可以通过在 function.php 文件中添加一个简单的过滤代码来允许在您的网站上上传 .ttf 字体。

以下是 .ttf 字体的代码

    add_filter('upload_mimes', 'add_custom_upload_mimes');
    function add_custom_upload_mimes($existing_mimes) 
        $existing_mimes['ttf'] = 'application/x-font-ttf';
        return $existing_mimes;
   

您可以在函数中添加更多 MIME 类型以允许上传这些文件。

【讨论】:

这对我不起作用。我可以通过这种方式允许其他文件类型(svg,otf),但是 ttf - application/x-font-ttf 被 wordpress 忽略。你不知道为什么? 对于其他人这不起作用,请参阅此帖子以强制对 TTF 文件扩展名进行 MIME 类型检测:wordpress.stackexchange.com/questions/396325/…【参考方案4】:

plugins 允许您将某些 mime 类型列入白名单。

add_filter 钩子也可用于从主题或插件扩展默认允许的 mime 类型。

P.S.:你真的不应该将 ttf 用于网络用途,因为它是未压缩的。请改用 woff、woff2 或 eot。

【讨论】:

以上是关于如何允许单个 Wordpress 站点接受我的 .ttf 文件上传?的主要内容,如果未能解决你的问题,请参考以下文章

当单个用户登录一个Wordpress站点时,用户可以自动登录其他用户的相关站点

如何在不同的子域上运行Wordpress管理员?

Wordpress 多站点错误

Wordpress 自动缩放更新

如何创建只接受数字和单个点的 SwiftUI TextField?

当管理面板中的“设置”已更改以准备转移到实时站点时,如何恢复 wordpress?