wordpress-develop icon indicating copy to clipboard operation
wordpress-develop copied to clipboard

Fluid typography: pass theme.json settings to override merged theme data

Open ramonjd opened this issue 1 year ago • 2 comments

Trac ticket: https://core.trac.wordpress.org/ticket/61118

Updates the second argument of wp_get_typography_font_size_value() to be a theme_json settings array.

Add a backwards compatibility condition to handle booleans.

Syncs:

  • https://github.com/WordPress/gutenberg/pull/58362

The changes:

  • Update the second argument of wp_get_typography_font_size_value() to be a theme_json settings array. The argument as priority over the return value of wp_get_global_settings()
  • Add a backwards compatibility condition to handle booleans.

Why?

To generate a stylesheet, theme.json settings are often passed directly to WP_Theme_JSON.

Because typography block supports looks at the global settings only, the font sizes and CSS vars will have a clamp() value in the returned stylesheet if the current theme has fluid typography activated.

Passing theme.json settings to gutenberg_get_typography_font_size_value() as the second argument allows users of the class interface to provide their own settings, which will override any global theme settings.

See Gutenberg bug report: https://github.com/WordPress/gutenberg/issues/58135

npm run test:php -- --filter Tests_Theme_wpThemeJson
npm run test:php -- --filter Tests_Block_Supports_Typography 

ramonjd avatar May 02 '24 02:05 ramonjd

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props ramonopoly, audrasjb.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

github-actions[bot] avatar May 02 '24 02:05 github-actions[bot]

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • The Plugin and Theme Directories cannot be accessed within Playground.
  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance, it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

github-actions[bot] avatar May 02 '24 02:05 github-actions[bot]

Committed in r58171.

tellthemachines avatar May 18 '24 23:05 tellthemachines