-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider allowing themes to enqueue stylesheets in theme.json #26902
Comments
Will themes still need style sheets? |
Many themes will still have stylesheets for things like transition and animations, etc. Global Styles won't cover all of those use cases. But at a baseline, they'll need a |
In which case can we just always enqueue style.css without needing a line in functions.php? Other stylesheets could be @imported into style.css... |
Yeah, currently, |
The issue with imported stylesheets is that a plugin would have no way to not enqueue a specific stylesheet. |
I think we should allow the docblock to come from theme.json in order to allow a theme without any CSS and just with a theme.json file. |
I think it would be a good idea to allow theme.json to load external stylesheets.
Styles loaded in this way would behave exactly like the styles added in PHP, and plugins could interact with them in the same way. cc: @mtias, @youknowriad |
I don't know if this is a good idea, I need to think about it more but what I know is that the capabilities of theme.json are growing constantly and IMO before thinking of adding new features, let's make sure what we already have works perfectly. (For instance, do we really want to show all global styles UI like we have now, or do we want it to be controlled by the theme?) |
I'd say the theme.json model (configs per block/context) is at odds with loading stylesheets that don't match those elements. I'd also refrain from trying to do this at the moment. A different approach that was mentioned #26901 is whether we can/should do some things automatically (like enqueueing block styles, etc) if a theme has a theme.json. I think this could be good to explore to understand the trade-offs better. |
Cross-referencing this convo WordPress/theme-experiments#81 (comment) TLDR: if we want to remove the stylesheets, we have to update the logic for what WordPress core & WordPress theme directory considers a minimum theme. |
Hi @youknowriad, The UI controls are already controlled by the theme right now.
Themes can control all these settings at the global level and at the block level, e.g., a theme can disable all these settings at the global level but enable for specific blocks or the contrary. Would you recommend a change in the API's we have to disable UI elements from the user, or is there anything you think is missing? |
How do I do that now?
|
@import inside a stylesheet should never being used. |
I learned that we have an issue with dynamic styles. It affects both the ergonomics of theme authors and the iframe work: #18571 In talking to @ellatrix about this, a system along the lines of @jorgefilipecosta proposal above could help address all these issues:
I was initially thinking that we could use a similar method as of the |
Would be cool to do this. |
If all of the
add_theme_support()
options from #26901 are incorporated intotheme.json
, the only things a theme must include in afunctions.php
file are its stylesheets.For the sake of discussion, would it be possible (and a good idea) to allow block-based themes to define their front-end and editor stylesheets directly from within theme.json?
The text was updated successfully, but these errors were encountered: