搜索
首页web前端css教程在WordPress中管理字体阻止主题

Managing Fonts in WordPress Block Themes

>网站设计取决于排版。 WordPress主题通常集成了诸如Google字体之类的服务,这些服务在经典PHP主题的定制器中很容易管理。 但是,对于块主题而言,这并不那么简单。尽管经典主题集成有充分的文献记录,但块主题字体管理缺乏类似的指导。本文解决了这一差距。 阻止主题可以使用Google字体,但是注册过程与传统方法显着不同。 现有知识

>将字体集成到块主题中的资源最初很少。二十二十二个是第一个默认块主题,它使用下载的字体文件作为主题资产进行了证明。这涉及在

>中注册文件,并在

>中定义捆绑字体。 后来的主题(例如二十三个),通过定义捆绑字体而没有明确注册来简化这一点。 但是,手动字体下载和捆绑仍然保留,否定了通过CDN提供的托管字体的便利。functions.php theme.json最近的发展

> Gutenberg Project是一个用于测试即将到来的块和站点编辑器功能的插件,它提供了解决方案。 Gutenberg的主要建筑师Matias Benedetto通过Create Block主题插件突出显示了使用Google字体(或任何下载的字体)。

学习WordPress提供了此插件的视频概述,该插件通过提供WordPress UI控件来简化主题创建。 您可以在不编码或修改模板文件的情况下创建整个主题,儿童主题或样式变化。 由WordPress.org团队撰写和维护,目前是Google字体集成在块主题中的最佳方法。 但是请注意,它正在积极发展,因此可以预期变化。

>在探索这种新方法之前,让我们回顾一下经典主题的传统方法。

>

传统方法

>与theShaper(2014)和Cloudways的文章说明了经典方法。 二十七个主题例证了

>

中的Google字体

>预先连接的Google字体:

传统方法的functions.php缺点

function twentyseventeen_fonts_url() {
  $fonts_url = '';
  $libre_franklin = _x( 'on', 'libre_franklin font: on or off', 'twentyseventeen' );
  if ( 'off' !== $libre_franklin ) {
    $font_families = array();
    $font_families[] = 'Libre Franklin:300,300i,400,400i,600,600i,800,800i';
    $query_args = array(
      'family' => urlencode( implode( '|', $font_families ) ),
      'subset' => urlencode( 'latin,latin-ext' ),
    );
    $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
  }
  return esc_url_raw( $fonts_url );
}
此方法具有显着的缺点。 2022年的德国法院裁决强调了GDPR违规,这是由于访问Google字体时的访客IP地址暴露。 此问题由Create Block主题插件解决。

使用带有块主题的Google字体(现代方式)

function twentyseventeen_resource_hints( $urls, $relation_type ) {
  if ( wp_style_is( 'twentyseventeen-fonts', 'queue' ) && 'preconnect' === $relation_type ) {
    $urls[] = array(
      'href' => 'https://fonts.gstatic.com',
      'crossorigin',
    );
  }
  return $urls;
}
add_filter( 'wp_resource_hints', 'twentyseventeen_resource_hints', 10, 2 );
>现代方法利用创建块主题插件。 设置本地开发环境(例如,使用Flywheel Local)并安装主题测试数据并创建Block主题插件。

>导航到外观管理主题字体

。 此屏幕列表已定义的字体,并提供选项:
    >
  • >添加Google字体:
  • 直接从Google字体API中添加字体。
  • >使用空白主题(例如,为“空theme,更名为“清晰”),添加Google字体(类似于Inter)会自动下载并将其存储在主题的
  • >文件夹中,更新
>

assets/fonts> theme.json

查看主题

然后,该字体可在网站编辑器的全局样式中可用。>
function twentyseventeen_fonts_url() {
  $fonts_url = '';
  $libre_franklin = _x( 'on', 'libre_franklin font: on or off', 'twentyseventeen' );
  if ( 'off' !== $libre_franklin ) {
    $font_families = array();
    $font_families[] = 'Libre Franklin:300,300i,400,400i,600,600i,800,800i';
    $query_args = array(
      'family' => urlencode( implode( '|', $font_families ) ),
      'subset' => urlencode( 'latin,latin-ext' ),
    );
    $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
  }
  return esc_url_raw( $fonts_url );
}
添加本地字体的工作原理类似,与手动修改相比,简化了该过程。 插件的界面中还处理了字体删除。

未来的发展

>“字体管理器”功能是针对WordPress Core提供的,提供了类似的功能。>

结论

functions.php创建块主题插件简化了WordPress Block主题中的字体管理,提供了一个用户友好且符合GDPR的解决方案。 它简化了无直接代码交互的情况下的添加,删除和管理字体。>

进一步阅读

(资源列表保持不变,重新格式化以提高可读性)

>

WordPress字体管理:>>

>如何将印刷字体添加到WordPress封锁主题(主题塑造)

>如何将Google字体添加到WordPress主题(主题Shaper)

>如何将Google字体与WordPress一起使用? (Cloudways)

>使用Create Block主题(Learn WordPress)来管理块主题字体 使用Create Block主题(WordPress.tv)

  • github问题:
  • >全局样式/版式:管理字体集(#45271)
  • >字体管理器(#46332)
欧洲GDPR要求:

通过使用Google托管字体(WPTAVERN),德国法院罚款网站所有者违反了GDPR 使用Google字体(制作WordPress主题)

遵守GDPR
    德国法院奖励用户对使用Google字体(Eprivacy Blog)的网站运营商的100欧元损害赔偿
  • >兔子字体(CSS-Tricks)

以上是在WordPress中管理字体阻止主题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
什么是CSS网格?什么是CSS网格?Apr 30, 2025 pm 03:21 PM

CSS网格是创建复杂,响应式Web布局的强大工具。它简化了设计,提高可访问性并提供了比旧方法更多的控制权。

什么是CSS Flexbox?什么是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

我们如何使用CSS使网站迅速响应?我们如何使用CSS使网站迅速响应?Apr 30, 2025 pm 03:19 PM

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

CSS盒装属性有什么作用?CSS盒装属性有什么作用?Apr 30, 2025 pm 03:18 PM

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。

我们如何使用CSS动画?我们如何使用CSS动画?Apr 30, 2025 pm 03:17 PM

文章讨论使用CSS,关键属性并与JavaScript结合创建动画。主要问题是浏览器兼容性。

我们可以使用CSS向我们的项目添加3D转换吗?我们可以使用CSS向我们的项目添加3D转换吗?Apr 30, 2025 pm 03:16 PM

文章讨论了Web项目的3D转换,关键属性,浏览器兼容性和性能注意事项的讨论。(角色计数:159)

我们如何在CSS中添加梯度?我们如何在CSS中添加梯度?Apr 30, 2025 pm 03:15 PM

文章讨论了使用CSS梯度(线性,径向,重复)来增强网站视觉效果,添加深度,焦点和现代美学。

CSS中的伪元素是什么?CSS中的伪元素是什么?Apr 30, 2025 pm 03:14 PM

文章讨论了CSS中的伪元素,它们在增强HTML样式方面的使用以及与伪级的差异。提供实用的例子。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能