Starter Theme: Bedrock

There has been much discussion, on and off, about how it might encourage people to build websites using ClassicPress if we provided some sort of default theme. Indeed, I myself started building themes for WordPress using the Bones starter theme. That is now obsolete, but I thought it might be useful if I created a starter theme for ClassicPress.

So I have now created Bedrock. It’s based on Susty WP by Jack Lenox, but has a normal menu rather than the funky one that comes with Susty. (In fact, it comes with a top menu and a footer menu too, should anyone wish to use them.) It’s also not much bigger than Susty but packs a few extra punches.

Bedrock (like Susty) is fully accessible. It uses normalize.css and the-new-reset.css as the basis for its own CSS, which remains small at only 16.1kb unminified. It can be configured to use one, two, or no sidebars, and will automatically adjust its sizing accordingly.

Bedrock also uses CSS custom properties, making it easy to adjust fonts and colors in many places just by making one change. It also comes with a built-in dark mode, which will take effect automatically on devices where the user has specified a preference for dark mode.

For those who prefer to have a web page scroll to an anchor on the same page, the style.css file includes some code which, if uncommented, will do that in a manner that is accessible.

Feel free to test out Bedrock. I’m interested in any comments you may have. Pull requests are welcome, but remember that this is intended as a starter theme, so there’s a limit to what it should include.


Thanks for this. I have a project for this. I never got around to using Susty on this project, so this is timely.


I don’t consider a starter theme the same thing as a default theme.
To me, a starter theme is bare bones that a developer builds on to make whatever they want, and a default theme is a solid, consider every edge case type of theme that is bundled with the core.
A starter theme is rarely used as-is.
A default theme is the fallback and used until you switch to something else. It is often used to test where problems are (switch to default theme and see if it’s still broken).

So do you define starter and default the same way, or differently?

Also, my petition for having core more in control of front end has several votes. If we implement that at the same time, a new default theme could be built that way. (It’s not that much different.)

I define a starter theme exactly as you do. A default theme is whatever is decided it should be.

I personally don’t consider Bedrock to be a possible default theme, but potentially a basis for creating one. It’s a starter theme.


You picked a good name for a starter theme.

I just read the article about the-new-reset.css and I have to say that it doesn’t make much sense to disparage the user-agent style sheet, but use revert in order to get the user-agent style.
I wouldn’t want to promote that kind of silliness. The user-agent styles are pretty good, and they will be loaded anyway, so why reset them all and then have to put it all back again?

In other news, the normalize project has about died, because modern browsers don’t have many differences. They also always suggested that you normalize to values that you would be using anyway, not just taking their values as the only way to use it. That is how I use normalize, but last year when I was updating it, I saw that there isn’t much there once you get rid of IE.

As for dark mode, I don’t think that fits with a starter theme, unless this theme already has all the color options provided (or hard-coded), and that’s not good for a starter theme to do. The trick with dark mode is that the admin of the site needs to be able to see it both ways, regardless of their own preference.

As a starter theme, it’s intended that a developer will take what they want and delete what they don’t. So it is with menus and sidebars, and so it is with CSS. If someone doesn’t like the hard reset, for example, then delete it. Simple, but it provides an option most people don’t know about.

Normalize.css isn’t dead; it’s just in different flavors these days. I’ve chosen the one I prefer (and use myself).

As for dark mode, if a developer doesn’t want that, it’s easy to delete too, as it’s in a discrete section of CSS in the style.css file precisely to make it easy to find, delete, and/or edit. Again, most people don’t know how to do it, though, so this makes it easy for them (and they can change the colors too, if they prefer). Same with the scrolling effect.

But I doubt you’re likely to use a starter theme anyway, Joy!

1 Like

@timkaye it seems Bedrock doesn’t support dropdown menus natively. Is that right?

At the moment, it just does top-level menu items (mainly because I usually add them programmatically via filters rather than manually in the admin). Is there a particular style or type you’re looking for?

Nothing specific. I was just curious. I’ll add dropdown support as needed.

Can we see what this theme looks like somewhere?

Not really. It’s a starter theme, so it has only basic styling. Its purpose is to provide only the foundation and then to have someone add whatever else they need, including the styling. I don’t think this is what you’re looking for.

Oh, bummer. This is why Classic Press isn’t taking off. There is no easy way for someone who isn’t a coder to switch to it. Thanks anyway. @timkaye

You shouldn’t need a special theme to switch to CP. Most themes that work with WP work with CP. Not all, for sure, but any that work with WP 4.9 will work with CP without issue.

I’m struggling to understand how Classic Press is 3 years old and there are STILL no themes available specific to it.

Sure, WP themes work NOW but for how much longer? And why do I want all that Gutenberg code I don’t need or want?

Paying someone over and over and over to keep changing and setting up themes because they stop working is why I didn’t switch to it before.l

I just can’t believe this issue still exists. Is there no plan for regular people to ever use Classic Press?

This is reminding me of Linux. I use it, but it is STILL not usable for common people. Or even for me with a background in computers since 1977.

I have to hire someone every time I need to update something. It is ridiculous that people can’t take the time to create an installer.

Coders just simply do not understand what people need to be able to take advantage of their work. This is so weird to me.

No wonder of the few who tried to switch, most weren’t able to make it work for them.

I think you’re conflating different things. It’s clear you have got a theme working on your site. Which bears out the fact that almost all WP themes work on CP. That’s likely to be true for many years to come, actually, because the advent of full-site editing on WP is going to make themes largely redundant; the pace of theme development on WP has already slowed significantly.

The issue you’re experiencing is not that themes don’t work on CP; it’s that changing themes almost always involves rebuilding some of the site. It’s always been like that on WP; we at CP have just inherited that issue, and it won’t change when there’s a dedicated theme directory.

In such instances, the first practical step towards getting your site as you want it is to choose a theme that lays out the structure the way you want it. CP comes bundled with some child themes; you can cycle through them or pick one you like from the WP repo, or the one built by @joyously. Once you’ve chosen, then you’ll need to make some CSS changes to get things colored and/or spaced correctly. I’ll be happy to help and others, like @joyously herself, are around here a lot too.

1 Like

In fact, the problem on your site is not your new theme at all. It’s that you have a couple of inline style sheets left over from your previous theme. If you can find and delete them, your site should be fine.

Thanks for the tip. The site isn’t fully installed. And I kind of doubt that the original theme would work because it is an older theme on the Genesis Framework.

It is a complicated situation trying to restore the site with a corrupted database issue.

Because I was forced to make a change anyway, my goal was to switch fully to Classic Press and get entirely away from Gutenberg and what it has lead to in WP.

Indeed. I can’t identify where the leftover stylesheets are, unfortunately, but I can see that they are the cause and that it’s nothing to do with themes potentially not working on CP.

@timkaye is right about the stylesheets. This is a TwentySixteen theme, which means that inline CSS is generated by the Customizer options. So if you go to Appearance > Customizer > Colors, you can change the colors of your theme to your liking.

One big problem I see is the broken images. It doesn’t look like your images exist, at least not where they used to be. Fixing your database and image issue will probably resolve most of the issues, and any theme will work out of the box.

1 Like

The database crashed. The person managing the site turned over trying to recover from this to someone else who is actively working on the site.

So because it had to be reinstalled manually and because I may have to manually fix the content, images, etc., if they can’t be recovered, I wanted to switch to CP which was my plan for years.

I put it off because there were no themes. And because I have to pay people to do this stuff. Now I discover there may or may not be themes.

I don’t want to keep paying to have themes replaced because they’re WP not CP. When they get updated that may cause them to stop working with CP.

So, it appears that Amicable is the sole, lonely CP-specific theme available so we’ll try that.