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; 

Themes Team Meeting Notes – December 14, 2021

Hello. This is the meeting notes from the themes review team discussion on December 14, 2021. 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,

  • 328 tickets were opened
  • 343 tickets were closed:
    • 336 tickets were made live.
      • 39 new Themes were made live.
      • 297 Theme updates were made live.
      • 0 more were approved but are waiting to be made live.
    • 7 tickets were not-approved.
    • 0 tickets were closed-newer-version-uploaded.

Number of reviewers: 3

2. State of the WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/. 2021

State of the Word was streamed live from NYC on December 14, 2021. If you missed it, you can watch the recording here.

3. Open floor

Naming for PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. based themes
We discussed the naming for the PHP themes. The majority of participants agree the Classic theme is preferable. You can keep track of the discussion here. Additionally, we agree the 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. theme should be called 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. Full conversion can be found here.

Name change for the Full Site Editing theme tag
We discussed whether it is necessary to change the Full Site Editing tag as it could be difficult for some users to know what is Full Site Editing. Full conversion on the Full Site Editing discussion.

Theme submission statistics
We discussed whether the theme statistics should be gathered to evaluate the impact of the recent changes in the requirements. Statics will allow us to analyze the trends such as an increase in submissions or theme approval rate. Full conversion on the theme statistics.

Noteworthy Updates

New directory names for block themes
The directory name change has been decided for the block themes. Moving forward the block theme specific directories, block-templates and block-template-parts will be templates and parts respectively. If you already have the block themes in the directory, the older names are still supported. Here is more detail on the new directory names.

WordPress 5.9 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3 is available for testing
As the final release date (25 January 2022) is quickly approaching, testing and feedback are always appreciated. Here is more information about the release of WordPress 5.9 Beta 3.

#meeting-notes, #themes-team

Themes Team Meeting Agenda for December 14, 2021

Channel: #themereview | Time: Tuesday, December 14 2021, 15:00 UTC

The themes team conducts a meeting on the second and fourth Tuesday of the month.
The meeting takes place in the #themereview channel on WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. and you need an account to participate.

Along with the fixed agendas, we have an open floor at the end where you can ask or share anything related to themes.

We encourage all members and anyone interested to attend.

This is the first meeting hosted by our new themes team representative. So, we would request you to join. 🙂

Meeting agenda

  1. Weekly updates
  2. State of the WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/. 2021
  3. Open floor

Weekly Updates

Current statistics can be found on: https://themes.trac.wordpress.org/ 

Themes TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. ticket graph: https://themes.trac.wordpress.org/ticketgraph

Check regular weekly updates here.

Also check,

State of the Word 2021

On December 14th for State of the Word 2021, the annual keynote address delivered by the WordPress project’s co-founder, Matt Mullenweg.

You can save the date and time and watch live.

Open floor

We will discuss everything related to themes. Attendees can ask or share themes-related things.

Please comment in the comment box below if you have anything to bring up during the open floor.

Gutenberg + Themes: Week of Dec 5

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/. Here are some highlights from the last week:

Update Color Picker UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing.

The existing UI for selecting a color can become unwieldy due to multiple duplicated color palettes being stacked. #37067 updates the color picker to improve this situation.

Alternative approach to global padding

The discussion to add a global padding to your site, that still allows some items to be full-width, is on-going. The current idea for solving this is here, and there are some issues / drawbacks with the approach that will take more consideration.

Opt into 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. styles via 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.

Most theme supports can be now set in theme.json. There is an issue to allow wp-block-styles to also be opted into via theme.json: #37255

#37262 reported an issue about the behavior of global link styles, with styles of block’s that contain links (e.g. the Post Title, Post Date, Post Categories). The global link styles are currently always taking precedence over the theme.json and block styles.

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 @pbking for helping to compile this week’s update. 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

Block themes meeting Notes — Dec 8

Location: #themereview, the full transcript begins here.

Facilitated by @jeffikus

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/ + Themes Updates

  • Directory names have changed for templates and template parts. Learn more here.
  • There’s a PR in progress that would add the ability to export a site’s global style settings into a 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. file.

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 in the Theme Repository

The group discussed future ideas for displaying block themes in the Theme Repository. Some ideas were:

  • Figuring out a way to highlight patterns that have been provided by the theme.
  • Allowing users to mix & match patterns to build their own theme.
  • This would likely be a longer-term project. It would be great to arrange a coordinated design effort around refreshing this area.

Also discussed was how to identify block themes. Themes should use the full-site-editing tag if they support Full Site Editing. It should not be used if the theme leverages theme.json but does not support Full Site Editing.

#block-based-meeting, #block-based-themes