Two (or more) looks, with one set of content

I’ve done something pretty simmilar once where I had 2 websites that shared most of their content and had differing color schemes. Here’s how I would approach this challenge

Use Multisite and child themes in the following way:

  • Website 1: This holds the content and acts as the main theme (e.g. Red). This is just a regular WordPress site — no funky stuff going on here.

  • Website 2: This installation switches to blog 1 (<?php switch_to_blog( $website_1_id ); ?>) whenever it queries data and then uses a child theme to apply the blue styling.

Multisite will give you the ability to have different URL’s for the two sites and still query for content between the sites.

You can even use domain mapping to have completely different url’s like my-red-website.com and my-green-website.com

Child themes will make it much easier to maintain the two themes in the future, as all of your functionality lives in the main theme (website 1). Your child theme (website 2) inherits everything from the main theme and builds on top of that with custom CSS and PHP. Whenever you add new functionality to website 1 it automatically cascades down to website 2 as well.

I’m not sure that there aren’t any gotcha’s with this approach, but if I was in your shoes this is the path I’d try first.