Skip to content
This day’s portion

The only thing stopping me from using WordPress is the lack of a truly barebones, unopinionated parent theme

| Comments

I’ve been toying with the idea of moving this site back to WordPress for a while now. There are a few reasons for taking such a seemingly retrograde step, including a mature, available-anywhere CMS and plugins to handle things like Twitter, micro.blog and Pocket integration, and webmentions.

I’d probably still publish a static site – via Hardypress or similar – as that allows for some of the basic, dynamic functionality I’ve managed to create in Jekyll – namely, comments and webmentions, while using the WordPress CMS and its plugins. And I keep the benefits of static – speed, resilience and security.

The problem I never seem to overcome – and it’s a fairly big one – is building a WordPress theme. I simply don’t have the time to learn the system to the degree I’d be confident I’d created something stable and secure (although I guess that’s not so much of a problem if you’re decoupling the CMS from the static site you end up serving).

Jekyll’s use of Liquid is elegant and surprisingly powerful. It’s simpler than many static site generators’ (SSG) templating engines (especially Hugo’s), and much more so compared to WordPress’s layouts, functions, hooks and actions. I understand complexity is necessary when you’re not pre-compiling a website but, as I say, it’s not something I have the time to learn properly.

What’s lacking for me is a barebones parent theme I can simply style with a child theme. The problem is that even basic WordPress themes are opinionated when it comes to styles, widget and navigation areas and javascript. Especially javascript. Inevitably I end up deregistering styleseets and scripts, and using display: none to get rid of markup that relies on the javascript I’ve just deregistered.

The ideal theme would allow configuration before download so as to avoid having to make relatively complex changes in layout files and functions.php. Here are some options I’d like:

  • Whether to include any CSS at all
  • Whether to include javascript libraries such as jquery
  • Whether to include mobile navigation markup and javascript
  • Whether to use ajax comments or not
  • Whether to include a header, footer and various widget and navigation areas
  • The order of these areas and some of their content. For example, do you want the header to include a logo, site title, navigation menu and description (and in what order should they occur in the HTML?)

My requirements are niche, so I’m likely stuck with Jekyll (or another SSG) for the time being, but it’s surprisingly difficult to find a truly unopinionated WordPress theme that allows its users the real freedom to build what they want.

Add a comment

Required fields marked *. I won’t publish or share your email address.

Comments

Richard Carter

Agree wholeheartedly. There’s just one requirement I’d add (although you might have taken it as a given): I would like a decent officially supported barebones parent theme.

The problem with the official WordPress yearly themes is they keep trying to outdo the previous year’s theme. I have created child themes from most of them, and they’re always way too complex. I just want a plain theme I can mess around with, but one which understands all the fancy new block editor functionality that is way too much hassle for me to maintain on my own.

I quite liked the official 2021 theme, but had to expend a lot of effort undoing fancy functionality I simply didn’t want. And I still can’t get the menu to do what I want (hamburger all the time).

I previously developed a child theme based on the barebones Underscores theme, but that was before the block editor came along to complicate matters.

Leon

@Richard,

Yes. Actually I hadn’t thought about an official, properly barebones theme, but that is a good idea.

I find the Genesis framework the best for child themes, and I’m toying with Underscores at the moment for this site as it is as configurable as you can get, I think. (It’s not really a parent theme – you’re meant to hack at it.)

There’s a disconnect between the quality of UI and how pretty/feature-filled WP themes are. This is most evident in navigation where virtually every theme handles navigation on a mobile by hiding it behind a hamburger. The problem with that is i) on 95% of sites you can easily display full navigation menus on a narrow screen ii) it’s not the best way to deal with more complex navigation in a limited space anyway. And when you have a hamburger you need javascript and markup that the javascript toggles, which is a pain to manage in a child theme.

As for the block editor, I install a plugin to turn it off. To me, it’s only useful on sites where you’re building pages with various components, not text-based blogs. There’s a fork of WordPress which doesn’t use it.

Poorchop

Before I wrote my own comments system, I seriously considered migrating to WordPress but the perceived complexity of theming was one of the factors that kept me from doing so. I also took a hard stance against using any JavaScript for my personal page and I wasn’t sure how feasible it would be to try and completely remove all of the script tags from a WordPress installation.

I additionally considered switching to an alternative CMS like Banshee since the cybersecurity community gave me the impression that WordPress isn’t particularly secure. The more I looked into alternatives, the more I wondered why they never get any attention since there are some great ones out there but I’m still thankful all the same that WordPress powers so many sites since it has RSS enabled by default. If not for that, then RSS would truly be as dead as people like to pretend it is.

Mentions

Comments and replies to this post from other sites and services, such as micro.blog and Twitter.

pimoore

@leonp If Hugo could take advantage if Liquid and its much easier syntax, that would literally be the perfect coupling with its build speed. Templating is the one thing I’ve also found awkward about Hugo.

leonp

@pimoore An SSG like Eleventy is pretty templating-language agnostic – I think that’s the best approach. Also makes migration between systems a lot more easy. Like you, I’ve got by with Hugo before, but it takes more work.