在 GeneratePress 主题中实现字体本地托管的完整指南

为了提升网站加载速度和保护隐私,许多站长选择将字体文件本地托管,而不依赖外部服务如 Google Fonts。本文介绍在 GeneratePress 主题环境下,字体文件下载并本地托管的具体步骤。

20250515113746753-image

1. 下载字体文件

  • 使用 Google Fonts Helper 等工具,搜索并选择所需字体。
20250515113909774-image
  • 勾选必要的字体变体,避免增加页面负担。
20250515113921169-image
  • 跳过 CSS 代码复制,下载字体文件压缩包并解压。
20250515113939135-image

2. 上传字体文件

WordPress 媒体库默认限制字体文件上传。

推荐使用“Code Snippets”插件操作,避免直接修改主题文件带来的风险。

20250515135539650-image

在插件中新增代码片段,粘贴打开字体文件上传权限的函数代码。

20250515135626481-image

保存并激活该代码片段后,就能在媒体库上传所有解压后的字体文件。

20250515135643751-image

添加以下 PHP 代码,临时开放字体文件上传权限(放入子主题 functions.php 或用代码片段插件管理):

add_filter( 'upload_mimes', function( $mimes ) {
    $mimes['woff']  = 'application/x-font-woff';
    $mimes['woff2'] = 'font/woff2'; 
    $mimes['ttf']   = 'application/x-font-ttf';
    $mimes['svg']   = 'image/svg+xml';
    $mimes['eot']   = 'application/vnd.ms-fontobject';

    return $mimes;
} );

上传解压后的字体文件,上传后建议删除该代码。

3. 获取字体文件链接

20250515135723346-image
  • 复制任意字体文件完整 URL,如: http://your-site/wp-content/uploads/2019/02/font-name.woff2
  • 去掉文件名,仅保留目录路径,作为 CSS 路径使用。http://your-site/wp-content/uploads/2019/02/

4. 生成并添加 @font-face CSS

让我们回到下载字体文件的 Google Fonts Helper 。

  • 在 Google Fonts Helper 中填入目录路径。http://your-site/wp-content/uploads/2019/02/
20250515140305237-image
  • 复制生成的完整 CSS 代码。
20250515140352212-image
  • 粘贴至 WordPress 后台“外观” → “自定义” → “附加 CSS”,或子主题样式文件。
20250515140504286-image

5. 在 GeneratePress 主题中添加本地字体

  • 进入“外观” → “自定义” → “排版”。
  • 添加字体名称(与 CSS font-family 一致)。
20250515140629209-image
  • 关闭 Google 字体选项,启用本地字体。
  • 设置字体应用范围,保存生效。

6. 让本地字体在 WordPress 块编辑器显示

块编辑器默认不加载自定义 @font-face CSS。

若 CSS 在“附加 CSS”,添加代码注入编辑器:

add_filter( 'block_editor_settings_all', function( $editor_settings ) {
    $css = wp_get_custom_css_post()->post_content;
    $editor_settings['styles'][] = array( 'css' => $css );

    return $editor_settings;
} );

若 CSS 在子主题 style.css,添加代码:

add_filter( 'generate_editor_styles', function( $editor_styles ) {
    $editor_styles[] = 'style.css';

    return $editor_styles;
} );

完成后,编辑器即可正确显示本地字体。

总结

本地托管字体提升加载速度,减少第三方依赖。结合 GeneratePress 主题的排版功能,完成字体文件下载、上传权限开启、CSS 添加及主题和编辑器字体配置,能够实现字体的完美本地托管,提升网站视觉和性能表现。

最近更新



了解 宝藏号 的更多信息

订阅后即可通过电子邮件收到最新文章。

© 版权声明

相关文章

暂无评论

none
暂无评论...

了解 宝藏号 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读