My first course on Pluralsight

introduction to WordPress theme development

It’s happened. And it was much more work than I had originally anticipated. Much listening to (and cringing at) myself talk and trying to edit out all the “uh”s and “um”s (or as many as I could manage). Content wasn’t an issue, it was a matter of organizing the content into a structure and providing enough examples. There’s a lot of room left to build from, go into more detail, dive into deeper, but this is an introduction, after all.

I’m excited to have this new course in the @pluralsight library and I’m looking forward to making more. In the meantime, you can check out Introduction to WordPress Theme Development on Pluralsight. Also, the blog post on my first course. :)

Typography and language as a WordPress theme developer

Today I have submitted Museum Core version 1.0.9. Unless there are any major issues with the update, it should get approved and be available in the WordPress themes repository in the next couple days. Among other features both under the hood and out in the open, this is the first version of any theme I have ever written with a full translation in another language thanks to anemoone‘s Polish translation. I’ve had to teach myself a lot about the internationalization (i18n) process, about proper use of _e, __(), _n, sprintf and how and why those are different from echo which I’ve learned both through managing the i18n process for Event Espresso and through the theme review process. However working with an actual translator made me discover things I had previously not considered about typography and how it changes depending on what language you are looking at it in.

The first thing I had to address was that I was _doing_it_wrong, at least in terms of i18n. I was dealing with typefaces from a programmer’s and a designer’s standpoint — not from the standpoint of someone actually looking to use the theme in another language. While I could say “yes, this theme supports translations” I wasn’t doing it in a way that was actually very supportive. A designer/developer will look at a font file and try to cut the file size as much as possible to decrease page load time. One way to do this is to strip out non-latin characters. That’s great for English speakers, but it means that everyone else is left in the lurch. Rather than rebuilding my font files with the extra characters included, 1.0.9 is letting Google handle the heavy lifting of supplying the fonts because, presumably, their servers will serve the entire character set faster than yours will.

The second thing is typeface design. I will freely admit that I have my own tastes as far as typefaces go, and that colors the fonts used in the themes that I build. I have a strong dislike for Times New Roman, for example, and while I like Georgia, I feel it’s over used. While it’s not my favorite serif typeface (that would probably fall to Goudy Bookletter 1911, but that didn’t really fit with the clean and modern design of Core), I included PT Serif in Core as a serif option because it has many similarities to Times and Georgia while not being too spindly (like Times) or wide (like Georgia). However, all of that goes out the window when you are looking at a typeface in a different language. Our eyes naturally follow the shape and contours of the letters in our own language, but I couldn’t tell you what an attractive type in Poland would be. Not only do the letterforms follow some different rules, but there are different tastes and preferences in what an attractive typeface is. So when I was told that some of my embedded fonts didn’t support Polish characters, I asked what a good font for the Polish language was, and was pointed in the direction of Lato, by a Polish designer. To me, it just looks like a bit of a squat sans-serif (at least when compared with Droid Sans), but who am I to judge its ability to display Polish characters like ł and ą in an attractive and readable way?

We all interpret words differently. We bring different experiences to the act of reading an article or blog post, so different things will resonate with each of us. What we as designers and developers (especially for open source software that may be used in other parts of the world that we may never have even considered — as opposed to client work for a specific person or organization in a native-language-speaking country) may not appreciate is that the same rules apply to type and design — what is seen as attractive and appealing in Tokyo is certainly not the same thing as what we see as attractive and appealing in Utah. The internet is making the world more of a melting pot than it was before as styles and trends from one part of the world affect preferences in another. Even so, individual preferences and tastes will always be unique, making design a unique challenge when you are trying to appeal to a range of potential users.

New look for (again…)

So, the redesign is still on (or at least planned), but I figured, since I just got a theme hosted in the themes repository, I might as well make it, you know, my theme so that at least one person is using it live, right? So here it is: Museum Core. I’ve also disabled WPTouch so if you’re looking at it in a mobile browser, you can see it in all its responsive glory.

I’m really excited about this theme. Not just because it’s badass and not just because I spent over a year developing it. Those things, too. But because…wait, no, it’s pretty much because it’s badass. I learned a lot through the whole process, particularly the theme review process, and it took over a month of revising and revising to get this (my first (accepted) submission to the repository) actually hosted on It’s no small feat. It requires dedication, the ability to take criticism, and willingness to adhere to WordPress’ (high) standards. I don’t say that to pat myself on the back. I say that because it’s effing hard. Okay, yeah, and to pat myself on the back. A little bit. But possibly WordPress says it best on their page about why you would want to host your themes on

The goal of our themes directory isn’t to have every theme in the world, it’s to have the best.

That’s their words, not mine. I certainly wouldn’t call my theme the best. But it’s damn fine (if I do say so myself) and I’m going to stand behind it and show it off for a little bit by making it the theme for my website. I’m allowed to do that. If you want to download it, go get it here: Museum Core.