Contributing to Twenty Seventeen

Sami Keijonen shared his experience as a first-time contributor to WordPress default themes on Post Status. It’s an excellent read, especially if you’re interested in getting involved in WordPress Core or default themes.

Twenty Seventeen wouldn’t be the same without Sami’s work. His experience provides a good example of how to watch an open source community, learn from it, find a niche within it and attack when see a way to give back. My favorite advice is this:

Once you start contributing, you shouldn’t just disappear with no explanation. If you’re running low on time or have other obligations, it’s totally understandable, but be sure to politely inform others you can’t continue anymore, so they can pick up where you left off.

Twenty Seventeen in Trunk

Screenshot showing the initial commit of Twenty Seventeen

Last night, I made my first commit to WordPress!

It’s exciting!

Twenty Seventeen, the next default theme for WordPress, is now in trunk – the latest development version of WordPress. It’s been a busy week after a flurry of work from an amazing 59 contributors so far on the theme. 59! As one of the leads for the theme, that’s a number that I’m most proud of, and want to see grow.

You can read more about Twenty Seventeen in its merge proposal on the Make WordPress Core blog. Please continue to test the theme so it can be its best when it ships to the world. And thank you to all the contributors so far! This wouldn’t happen without you.

Hello Twenty Seventeen

After years of contributing to WordPress and its default themes, I get to help lead one – Twenty Seventeen! To say I’m excited and honored would be the understatement of both 2016 and 2017. 🙂

I’m looking forward to bringing a new theme to WordPress, and with the help of the WordPress community, making it the best it can be. I’ll be working with Mel Choyce, who designed Twenty Seventeen, and Laurel Fulford, who will help me give the theme life. Sure, Mel has designed some of the most beautiful themes out there and Laurel can code up anything, but that’s not what has me the most excited.

What I love most about open source, and the WordPress community, is the people. All artful creations carry inspiration from other sources, and I believe you can’t create anything worthwhile alone. That’s why Twenty Seventeen needs all the help it can get from as many people as possible.

If you’ve ever wanted to find a way to contribute WordPress, to take part in something that millions of people will touch every day, now is the time. Drop a comment on this post if you want to help. Let’s do this!

Introducing Theme User Experience Requirements

At Automattic this year, we’ve focused heavily on improving people’s experience using themes on It’s one reason we introduced the TUX List, a set of theme user experience requirements. Putting these best practices into your themes on and elsewhere means anyone using them will have an easier time getting to what they really want to do: publish their site. Not fiddle with theme setup and options. Making themes easier is a job for everyone, so let’s keep working at it!

Themers, Themes and the Content Creation in WordPress

My colleague, Michael Arestad, wrote an excellent post awhile back called, The shape of WordPress shapes the web. In it, he poses the questions:

Should the design of content creation in WordPress expand past blogging?

If so, what would the creation of content look like? Would the shape of the editor be determined by the theme? Would it be something more flexible involving direct manipulation? Could it be a mix of both?

Those are tough questions, but fun ones to think about, especially without the limits of the current content creation process. Some of what I envision for a better experience there already exists – in bits and pieces in different content management systems and platforms. Some of the reasons WordPress lacks a more optimal content creation process doesn’t have to do with just user experience, design or code, but also some of its contributors. I’m talking about themers – myself included.

From my vantage point, themes cause some of the biggest frustrations for the people who use WordPress every day. As we all know, born as blogging software, WordPress has evolved into a full-fledged content management system and its contributors have it looking more and more like an application platform every day. With that fluidness comes freedom. WordPress can do a lot. Sure, the post screen available at post-new.php has its limits, but that hasn’t stopped anyone yet. Meta boxes, custom fields, widgets, special classes, page builders and more have all tried to make the process better. But nothing has stuck, and everything has felt like a patch instead of a cohesive experience. And worse, open up any WordPress site that extends beyond a blog and you’re likely to find them all handling content in slightly different ways. Everyone loses here. The people who use WordPress, and those who make it and build tools from it.

I certainly don’t think the perfect content creation process exist for all the types of content that goes into WordPress. And I don’t think pulling in ideas and concepts from other sources is the whole answer. If the design of content creation in WordPress expands past blogging, it will take experimentation, user testing and a lot of collaboration to find something that works. So how do we get there? We have to start – together.

I know that we as themers can do a better job of bringing consistency to the themes we build, both individually and as a community. We’re doing a better job than we once did, reducing theme options, sticking mostly to the Customizer, keeping content types in plugins, etc. but more work remains. We’re all creating themes in our own worlds, but something better lies ahead. We need to sketch, design, build and create outside of themes, and with each other. WordPress Core needs you. Maybe you start working through some tickets. Or revive a stalled feature plugin that’s needed. The opportunities exist everywhere, and content creation doesn’t get better without themers.

Goodbye Thematic

It’s bittersweet and slightly nostalgic to see the theme come to an end. When I launched the Tavern in 2009, I regularly linked to tutorials and articles published by [Ian] Stewart. I’m almost certain Thematic and its creator helped out a number of budding theme developers between 2008-2011.
– Jeff Chandler in After Eight Years, Thematic Theme’s Lead Developers Discontinue the Project

I feel the same way. When I first started hacking on WordPress themes, I started with Thematic. My final project in graduate school ended up being two child themes, built with Thematic. It introduced me to a lot of theming concepts and best practices. I’m glad it will live on in a fork. So long Thematic – thanks for all those hooks and filters!

A Collection of WordPress Theme Review Tips

Seeing a call for theme review tips on the Make WordPress Themes site inspired me to share my own workflow. Hopefully, it helps some of you who may want to become theme reviewers or hone your craft.

A team of volunteers checks all the WordPress themes that end up in the theme directory. They ensure that the themes meet a set of standard requirements so people get a consistent experience when using a theme from the directory. You can become a reviewer too!

First, A Quick Peek

Before I even begin reviewing a theme, I like to scan it quickly to get an idea of what it’s like, and where I might find issues. This takes about five minutes, and I follow these steps:

  • Look at the file structure: What do you see? Is it a custom theme or child theme? What frameworks or libraries are used? Is the theme set up in a standard way, like a Core theme.
  • Check out the functions.php file. Does anything make you pause and wonder why it’s done like that?
  • Load the major pages in a browser to see if you notice anything out of the ordinary or broken. Major pages include: home, archive, page and single post. Also, check out the Customizer to see what the options and theme setup might be like.

Doing that gives me a broad overview of the theme, and helps pinpoint any areas I may need to pay extra attention to when reviewing. Next, I can begin my full review.

Next, A Full Review Workflow

  • Look at the code first, going file by file. I like to start with the functions.php file first, since it’s the brain of a theme. Then, I’ll look at other include files to get a sense of what should happen on the front end. Then I look at the template files to see the HTML. Lastly, I’ll check out the JavaScript and CSS files to see how they add to the theme.
  • I like to check for code related issues first, such as function names, escaping and translations, etc. Then I look at details, like documentation, screenshot and the stylesheet header.
  • Lastly, I’ll take the theme for a spin, testing the front end and theme options making sure they work properly.

Finally, A Few Tips and Tricks

I’m always tweaking my review process because I never think it’s efficient enough. Here are a few tips and tricks I’ve used lately:

  • I have templates for replying to reviews. I’ve put them on Github in case you want to steal them.
  • I always have the current requirements open in a browser tab to cross reference during the review, just in case something has changed recently
  • I run the Theme Check plugin on a theme before anything else in a full review to get clues where I may need to focus my attention.
  • My standard setup uses WordPress VVV with all of the theme-related plugins recommended in the Developer plugin.
  • I primarily use Chrome to test themes. I will use just Firefox to test keyboard accessibility because it has no default :focus styles, and Safari to test with Voiceover on because the two are well integrated.
  • Spotting possible escaping issues always proves challenging. I like to use PHP Codesniffer with the WordPress sniffs to check for escaping issues. Running this command just executes the escaping “sniff”: phpcs --standard=WordPress-Extra --sniffs=WordPress.XSS.EscapeOutput /path/to/code/ It won’t be perfect all the time, but it will save you time.
  • I like to use regular expressions in Atom to search for various things like function names, text domains, and more.

Now, go become a more prolific reviewer, and don’t forget to share your own tips!