如何允许单个 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站点时,用户可以自动登录其他用户的相关站点