Themes Team Meeting Notes – January 11, 2022

Hello everyone. These are the meeting notes from the themes team discussion on January 11, 2022. The themes team meets second and fourth Tuesday of every month at 15:00 UTC.

This week’s meeting agendas can be found here. Thank you @kafleg for preparing the agenda. The meeting was facilitated by @kafleg. The note was taken by @Benachi. You can read the full transcript on our #themereview channel. 

1. Weekly updates

The themes team published weekly updates about tickets and HelpScout emails. See this week’s updates here in the past 7 days,

  • 357 tickets were opened
  • 351 tickets were closed:
    • 342 tickets were made live.
      • 23 new Themes were made live.
      • 319 Theme updates were made live.
      • 0 more were approved but are waiting to be made live.
    • 9 tickets were not-approved.
    • 0 tickets were closed-newer-version-uploaded.

Number of reviewers: 4

2. Noteworthy update

The themes team has been updating the Theme Handbook to reflect the upcoming release of WordPress 5.9. Some of the updates include

  • Theme handbook main page is updated with brief information about the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme and the link to the Block Editor Handbook
  • Updating your theme page is newly created. This page explains how to upload using SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/..
  • New Block themes and Classic themes links were added to the side menu.

3. Child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. submission

We discussed the concern over the number of the child theme submission. Unfortunately, we could not come up with a definitive solution at this time. We hope the flag/badges system could bring a positive impact on this issue. 

You can find more detail about the Next Steps on Themes and Reviews, including the flag and badges system at this link

4. Open floor

No questions or comments were brought during the open floor. 

#meeting-notes, #themes-team

Themes Team Meeting Notes – January 4, 2022.

Happy New Year! Hope everyone had a great holiday! 
This is the meeting notes from the themes review team discussion on January 4, 2022. This is a rescheduled meeting from 12/28/21. The themes team regularly meets second and fourth Tuesday of every month at 15:00 UTC

You can read the full transcript on our #themereview channel. 

1. A Year in the themes  – 2021

In 2021, 1,227 new themes were added to the theme directory. Among them, 29 themes are block themes. Thanks to  all the theme authors who contributed. 

  • 16,816 tickets were opened
  • 17,053 tickets were closed:
    • 16,111 tickets were made live.
      • 1,227 new Themes were made live.
      • 14,884 Theme updates were made live.
      • 0 more were approved but are waiting to be made live.
    • 902 tickets were not-approved.
    • 40 tickets were closed-newer-version-uploaded.

2. Weekly updates

The themes team published weekly updates about tickets and HelpScout emails. See this week’s updates here in the past 7 days,

  • 263 tickets were opened
  • 266 tickets were closed:
    • 256 tickets were made live.
      • 28 new Themes were made live.
      • 228 Theme updates were made live.
      • 0 more were approved but are waiting to be made live.
    • 10 tickets were not-approved.
    • 0 tickets were closed-newer-version-uploaded.

Number of reviewers: 6

3. Encouraging theme authors for more blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes

During the meeting, the themes team discussed how we can encourage the theme authors to start building block themes. @acosmin suggested creating a special tab on the theme directory. 

We also discussed limiting the number of child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. submissions per author. Although we have not received any feedback from users, a large number of similar child themes are causing a lack of variation in designs on the theme directory. @peona addressed that once the new theme review automation is implemented, the theme review will move away from manual review to user-oriented flags/badges system. As a result, the “flooding” of child themes will become irrelevant.

We will continue with the discussion on the next meeting on January 11, 2022.  

4. Open floor 

Theme Handbook Update:
We are working on updating the Theme Handbook. Releasing Your Theme and Required Theme Files have been updated so far. We will be adding references and links to the Block theme throughout the Theme Handbook to promote block themes.


Noteworthy Update: 

WordPress 5.9 will officially introduce the first block theme, Twenty Twenty-Two. Twenty Twenty-Two can be a great resource If you are interested in building a block theme. Explore GitHub Twenty Twenty-Two repo to find out how the block theme is built. If you are looking for a boilerplate for your first block theme, you can find a starter block theme, Empty Theme in the theme-experiments bundle.

Find more information about building block themes at the following links.

#meeting-notes, #themereview, #themes-team

Block-based Themes Meeting Agenda: January 5, 2022

Welcome to 2022 everyone! Below is the agenda for this week’s BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-based Themes meeting. This is the last meeting before WP 5.9 is released.

Time: Wednesday, January 5, 2022, 06:00 PM GMT+2

Channel: #themereview

Agenda

  • Discuss the remaining bugs that are impacting block-based themes for 5.9, including TT2.
  • What are theme developers looking forward to for the next stage of block theming?
  • Open Floor / Q&A

Please comment if you have any additional topics you’d like to see discussed!

+make.wordpress.org/core/ #agenda #meeting #block-based-meeting

Gutenberg + Themes: Week of December 13th, 2021

Hello! This is the 75th weekly roundup of theme-related discussions, fixes, and developments in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/. This will be the last weekly update until next year. 

Typography supports for group and row blocks

PR #37456 adds typography supports for group and row blocks such as font size, weight, line height, letter spacing, etc

Nameless font sizes

#37410 proposes that a theme shouldn’t need to include a name to define a font size in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML., just the slug and the size value should be enough. This PR is a follow-up after #37381 was merged.

Approach to global padding

The discussion around global padding continues and no definite solution has been found in time to make it to 5.9. It has been decided that in the interim Twenty Twenty Two will provide a CSS fix that will cover most of the cases until a better solution is reached in Gutenberg.

Default font sizes renamed

#37381 renames the font sizes by default when a theme doesn’t provide any in theme.json. It’s a follow-up to #37038

Template parts in child themes

There was a bug that was preventing blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. child themes that didn’t provide an index template from inheriting the parent’s template parts, this has been fixed by #36910

As always, please weigh in on these issues and pull requests — your feedback is crucial and appreciated. 

Overview Issues

  • Default Theme (Twenty Twenty Two): Overview of Gutenberg issues: #75
  • GS: The Global Styles Interface #34574  
  • FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks.: Post Comments LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. Block: Tracking issue #34994 
  • FSE: Site Editing block placeholders #35501
  • FSE: Templates list screen overview #36597
  • DT: Typography Tools: Tracking defaults for blocks #35604
  • Tracking: ToolsPanel Follow Ups #36165 

General Resources:

Thanks @scruffian for your help with this week’s summary. Please comment if there’s something you’d like to highlight 🙂

Abbreviation key:

DT: Design Tools

FSE: Full Site Editing

GS: Global Styles

#gutenberg-themes-roundup

Reminder: If your theme integrates with external plugins make sure that they are available before trying to use them

The single most common, preventable, error type for themes in the previewer (and when a user first installs the theme) is attempting to use a missing function from a 3rd party pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

Calling a missing function results in a fatal error. At best the activation sandbox would catch and prevent activation and at worst it would result in fatal errors on the frontend, visible to the site visitors. Not a good thing for a visitor or the site.

You should always make sure that the dependency is available before calling functions from it. For example, if your theme has shop integration with woocommerse and you want to use the is_shop() conditional then make sure it is available before calling it.

$is_shop = function_exists( 'is_shop' ) && is_shop();

Making sure that functions, classes or files, when they come from external dependencies or systems, exist before using them in your theme is a good practice. It prevents errors and makes your code more robust.

If the function is not a conditional that returns a bool value then an alternative could be to shim the function. This is useful in some situations and not others. If you choose to shim functions I suggest you do it infrequently. An example of this would look something like this:

if ( ! function_exists( 'is_shop' ) ) :
    function is_shop() {
        //your codes goes here. 
    }
endif;