Una mirada en profundidad a las novedades de WordPress 6.5: Presentación de las bibliotecas de fuentes

WordPress 6.5新增了字体库功能,使用户可以直接在编辑器里管理字体。此外,它还提供了一系列的API,这意味着开发者可以更灵活地控制和调整这项功能,甚至可以禁用它。

图片[1]-深入解析WordPress 6.5的新特性:字体库介绍-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

字体集

字体集是一系列你可以通过编辑器添加到网站的字体。在theme.json中,这些字体系列被列为fontFamily项目。默认情况下,在WordPress 6.5中,用户可以选择添加Google的一组字体。为了符合GDPR规定,安装Google字体时,这些字体文件会被下载到你的WordPress服务器上。

一旦注册了字体集合,用户就能在编辑器的字体库界面中看到它。在这里,用户可以安装并开始使用集合中的字体。

图片[2]-深入解析WordPress 6.5的新特性:字体库介绍-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

添加字体集

你可以使用wp_register_font_collection()函数来添加新的字体集。这个过程包括用PHP或JSON格式定义字体系列和它们的列表,然后把这些信息作为数组的一部分传递给函数。

下面是一个示例,展示了如何在PHP中添加字体集合:

$font_families = [

array(

'font_family_settings' => (

array (

'fontFamily' => 'Open Sans, sans-serif',

'slug' => 'open-sans',

'name' => 'Open Sans',

'fontFace' => (

array (

'fontFamily' => 'Open Sans',

'fontStyle' => 'normal',

'fontWeight' => '300',

'src' => 'https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4iY1M2xLER.woff2'

),

array (

'fontFamily' => 'Open Sans',

'fontStyle' => 'italic',

'fontWeight' => '400',

'src' => 'https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVIUwaERZjA.woff2'

),

),

),

),

'categories' => [ 'sans-serif' ],

),

array(

'font_family_settings' => (

array (

'fontFamily' => 'Monoton, system-ui',

'slug' => 'monoton',

'name' => 'Monoton',

'fontFace' => (

array (

'fontFamily' => 'Monoton',

'fontStyle' => 'normal',

'fontWeight' => '400',

'src' => 'https://fonts.gstatic.com/s/monoton/v19/5h1aiZUrOngCibe4fkPBQ2S7FU8.woff2',

'preview' => 'https://s.w.org/images/fonts/17.7/previews/monoton/monoton-400-normal.svg'

),

),

)

),

'categories' => [ 'display' ],

),

array(

'font_family_settings' => (

array (

'fontFamily' => 'Arial, Helvetica, Tahoma, Geneva, sans-serif',

'slug' => 'arial',

'name' => 'Arial',

)

),

'categories' => [ 'sans-serif' ],

),

];

$categories = [

array(

'name' => _x( 'Display', 'Font category name' ),

'slug' => 'display',

),

array(

'name' => _x( 'Sans Serif', 'Font category name' ),

'slug' => 'sans-serif',

),

];

$config = array (

'name' => _x( 'My font collection', 'Font collection name' ),

'description' => _x( 'A collection of my favorite fonts.', 'Font collection description' ),

'font_families' => $font_families,

'categories' => $categories,

);

wp_register_font_collection ( 'my-font-collection', $config );

请注意,字体集合数组里的nameresponder cantandodescription字段需要支持多语言翻译,你可以通过使用_x()函数来包裹这些文本实现这一点。通常,字体系列的名称是不需要翻译的。想了解更多信息,请查阅讨论#60509。

字体集合中的font_families字段可以使用本地路径或是指向JSON文件的远程URL来指定字体。

删除字体集

Puede utilizar elwp_unregister_font_collection()函数禁用字体集合。这是禁用默认字体集合的示例:

add_action( 'init', function() {

wp_unregister_font_collection( 'default-font-collection' );

} );

安装和激活字体

在WordPress中,你可以通过theme.json设置来配置字体。当你“安装”一个字体到你的网站,它的设置会被保存到数据库,这样任何主题都可以使用这个字体。

“激活”字体意味着它会被加入到主题的全局样式设置里。这样,新的字体就可以在网站的整体样式和单个块的设计中被使用了。

如果你换了一个新主题,你需要重新激活之前安装的字体,这样可以确保新主题的全局样式也会更新。如果你重置了主题的全局样式,所有之前安装的字体会被停用,但还会保留在网站上,你可以随时重新激活它们。

另外,字体库也允许你停用主题自带的字体,如果你不需要它们的话,这样可以帮助提高网站的加载速度。

自定义字体上传目录

默认情况下,上传的字体会保存到wp-content/fonts文件夹里。但是,你可以使用font_dir过滤器来改变这个保存位置,根据你的需求设定不同的目录。如果你的设置不允许修改wp-content目录,那么wp-content/uploads/fonts会被用作备用目录。

你可以用wp_get_font_dir()函数来找出字体上传目录的具体位置。

下面这个例子会把字体目录改到WordPress的“Uploads”目录里(通常是wp-content/uploads):

function alter_wp_fonts_dir( $defaults ) {

$wp_upload_dir = wp_get_upload_dir();

$uploads_basedir = $wp_upload_dir['basedir'];

$uploads_baseurl = $wp_upload_dir['baseurl'];

$fonts_dir = $uploads_basedir . '/fonts';

// Generate the URL for the fonts directory from the font dir.

$fonts_url = str_replace( $uploads_basedir, $uploads_baseurl, $fonts_dir );

$defaults['path'] = $fonts_dir;

$defaults['url'] = $fonts_url;

return $defaults;

}

add_filter( 'font_dir', 'alter_wp_fonts_dir' );

当你更改字体的上传位置时,请确保你选择的文件夹确实存在,并且具有正确的读写权限。

就像wp-content/uploads文件夹一样,设置用于字体上传的文件夹也不会受到wp_is_file_mod_allowedtal vezDISALLOW_FILE_MODS设置的影响,这意味着这些设置不会阻止字体的上传。

如何禁用字体库

默认情况下可通过编辑器访问字体库。

禁用用户界面

可以使用过滤器来禁用 UI 来自定义编辑器设置:

function disable_font_library_ui( $editor_settings ) {

$editor_settings['fontLibraryEnabled'] = false;

return $editor_settings;

}

add_filter( 'block_editor_settings_all', 'disable_font_library_ui' );

禁用REST API

debeunregister_post_type()函数可用于删除与字体库关联的帖子类型,并通过扩展 REST API:

add_action( 'init', function() {

unregister_post_type( 'wp_font_family' );

unregister_post_type( 'wp_font_face' );

} );


这样做可以让插件关闭字体库的功能,但同时保留界面,以管理当前主题所提供的字体。

新的 REST API

字体库功能新增了三个REST API端点:

  • wp/v2/font-collections:用于获取预定义的字体系列列表,也就是“集合”。
  • wp/v2/font-families:用于获取父字体系列的信息,这些系列通常包含一种或多种单个字体。
  • wp/v2/font-families/<id>/font-faces:用于获取字体系列中每种字体的详细信息。

Contacte con nosotros
¿No puede leer el artículo? ¡Póngase en contacto con nosotros para obtener una respuesta gratuita! Ayuda gratuita para sitios personales y de pequeñas empresas
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
© Declaración de reproducción
Este artículo fue escrito por Harry
EL FIN
Si le gusta, apóyela.
felicitaciones0 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios