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

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

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

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

【问题讨论】:

    标签: php css wordpress fonts web-development-server


    【解决方案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。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多