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

I'd like to set up a pair of sites (red and blue) with different looks (backgrounds, header images), but the same content (pages, text, embedded media, etc.) And I'm trying to minimise the effort keeping them synced once set up.

e.g., the two sites might have a root URL like: http://example.com/red and http://example.com/blue. The URLs http://example.com/red/about and http://example.com/blue/about would both show the same about page, ideally edited in only one instance and auto-magically updated in the other.

Ideally I'd like to be able to have users flip from one to the other like a multilingual site.

I've thought about mirroring red to blue and then customise blue; but I expect to have to updated red in the future and I don't want to have to redo the mirror/customisation each time.

Have I missed a convenient way/plugin for accomplishing this kind of situation? Is there a better way? Or am I going to be maintaining content on two sites with different looks.

Solutions

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.

Similar questions

Front end empty (i.e. nothing displays); Back end looks fine; What are possible causes?
My customer's site was working last night. Today nothing displays from the front end. Firebug gives as the contents of the home page. I logged in. The back end looks fine. The most recent post (added yesterday some time) is there. I looked (briefly) at index.php, wp-blogheader.php, wp-config.php. They all look right at first glance. No obvious prob...
Customize how a Wordpress theme looks like in the Theme Selector
How do I customize how my theme shows up in the list of available themes in the Admin console, under the "Appearance" -> "Themes" section. I need to change stuff like the theme name, author, and description.
How to change what the post creation page looks like?
Is there a way (plugin, or something else) to set it where there is a drop down on the "New Post" page that allows you to choose a post type and the fields change allowing you to filter what content you are putting into a post without confusing a user by having 20 different custom fields on the "New Post" page. Also, is there a plugin or other that...
Looks like image resize is not working well
Im searching for some clue about this behavior? I think it is a PHP memory_limit or WP define('WP_MEMORY_LIMIT', 'X') issue? Sometimes images are resized and sometimes not, in other scenarios the browser crash: Im using Dreamhost as shared hosting, and their 7 upload limit. Error printed with an uploaded image of 6.4MB of size and with a width and ...
MySQL Query that looks for post with Custom Field, then changes Category
I'm looking for a MySQL Query that will look for all the posts with custom field "meta_key_I_want_to_find", then if the custom field is detected, add a category to that post. The category has already been created, so I just need to find all of the posts with that Meta_key and then add the category to them. I was thinking something along the lines o...
Looks like this if condition is not working
I want a query to be executed IF the following condition is true... but looks like the query is executed anyways. if($post->post_parent = '302'){ // Query goes here } Is this query fine?? I want to executed the query if the parent page of current page is 302. Thanks

Also ask

We use cookies to deliver the best possible experience on our website. By continuing to use this site, accepting or closing this box, you consent to our use of cookies. To learn more, visit our privacy policy.