Make WordPress Core


Ignore:
Timestamp:
04/26/2022 02:46:37 PM (22 months ago)
Author:
hellofromTonya
Message:

Themes: Add internal-only theme.json's webfonts handler (stopgap).

Adds _wp_theme_json_webfonts_handler() for handling fontFace declarations in a theme's theme.json file to generate the @font-face styles for both the editor and front-end.

Design notes:

  • It is not a public API, but rather an internal, Core-only handler.
  • It is a stopgap implementation that will be replaced when the public Webfonts API is introduced in Core.
  • The code design is intentional, albeit funky, with the purpose of avoiding backwards-compatibility issues when the public Webfonts API is introduced in Core.
    • It hides the inter-workings.
    • Does not exposing API ins and outs for external consumption.
    • Only works for theme.json.
    • Does not provide registration or enqueuing access for plugins.

For more context on the decision to include this stopgap and the Webfonts API, see:

Props aristath, hellofromTonya, peterwilsoncc, costdev, jffng, zieladam, gziolo, bph, jonoaldersonwp, desrosj.

See #55567, #46370.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/theme/themeDir.php

    r52399 r53282  
    166166            'Block Theme [0.4.0]',
    167167            'Block Theme [1.0.0] in subdirectory',
     168            'Webfonts theme',
     169            'Empty `fontFace` in theme.json - no webfonts defined',
    168170        );
    169171
Note: See TracChangeset for help on using the changeset viewer.