justintadlock/hybrid-font

WordPress主题中加载字体样式的辅助函数。

1.1.3 2024-08-01 13:56 UTC

This package is auto-updated.

Last update: 2024-09-01 14:13:07 UTC


README

Hybrid Font是一个即插即用的包,主题作者可以使用它在其WordPress主题中加载字体。

此包主要是一组用于处理Google Web Fonts的辅助函数。这些函数是现有WordPress样式加载函数的包装器。辅助函数仅提供处理字体样式的标准API。

此包的想法来自Jose Castaneda关于添加和删除主题字体的教程。

要求

  • WordPress 4.9+。
  • PHP 7.4+(最好使用8+)
  • 使用Composer管理PHP依赖关系。Composer

技术上,您可以在不使用Composer的情况下使此功能工作,直接下载并将包拖放到您的主题中。但是,使用Composer是最佳选择,也是使用此项目的推荐方法。

文档

以下文档是为主题作者编写的,因为这将是最常见的用例。如果包含在插件中,它不应该有很大不同。

安装

Composer

首先,您需要打开您的命令行工具,并将目录更改为您的主题文件夹。

cd path/to/wp-content/themes/<your-theme-name>

然后,使用Composer安装该包。

composer require themehybrid/hybrid-font

假设您尚未在您的主题中包含Composer自动加载文件,并且希望将其作为主题包的一部分进行分发,您可能需要在主题的functions.php中包含以下代码段来自动加载此包(以及其他包)。

Composer自动加载文件将自动为您加载Hybrid Font,并使其代码可用于您使用。

if ( file_exists( get_parent_theme_file_path( 'vendor/autoload.php' ) ) ) {
	require_once( get_parent_theme_file_path( 'vendor/autoload.php' ) );
}

手动安装

如果手动安装该包,只需将其放入主题中的所需位置,并像这样包含引导文件即可。

require_once( get_parent_theme_file_path( 'path/to/hybrid-font/src/bootstrap-font.php' ) );

使用方法

您想要使用的首要函数是enqueue()函数。您将像以下示例那样加载一个字体。

add_action( 'wp_enqueue_scripts', function() {

	Hybrid\Font\enqueue( 'themeslug', [
		'family' => [
			'roboto'      => 'Roboto:400,400i,700,700i',
			'roboto-slab' => 'Roboto+Slab:400,700'
		],
		'subset' => [
			'latin',
			'latin-ext'
		]
	] );

} );

请注意,插件的命名空间是Hybrid\Font。如果您在另一个命名空间中工作,您需要在您的命名空间调用后添加一个use语句,或者直接调用\Hybrid\Font\enqueue()。如果您在处理命名空间,我将假设您知道自己在做什么。否则,请坚持使用上面的方法。

参数

以下参数可用。

$handle

第一个参数是字体的处理/ID。这应该是一个唯一的字符串。

$args

$args参数是一个选项数组,您可以设置这些选项。

  • family - 要加载的Google样式字体家族数组。
  • display - 设置font-display CSS属性的字符串。
  • subset - Google脚本子集数组。
  • text - 您希望Google为特定文本加载字体的字符串。
  • effect - Google字体效果数组。
  • depends - 此样式所依赖的样式表处理程序数组。
  • version - 样式表的版本。
  • media - 加载此内容的屏幕类型。
  • src - 要加载的特定样式表的URL。请注意,这将覆盖任何Google特定的参数,并加载此样式表。

有关使用Google特定参数的更详细文档,请参阅Google Fonts文档

函数

// Register and load a font stylesheet.
enqueue( $handle, $args = [] );

// Register a font stylesheet.
register( $handle, $args = [] );

// Build a font stylesheet URL.
url( $handle, $args = [] );

预加载

本包将自动过滤 wp_resource_hints 并预加载Google字体。无需您手动操作。

版权和许可证

本项目采用GNU GPL许可证,版本2或更高版本。

2008 - 2024 © Theme Hybrid