How do you run two Wordpress blogs with different themes using one database where the content remains the same in both sites? The issue that I am getting is at the Domain mapping in both blogs.

  • If you have multisite installed as per your question tag? then this should work just like what your asking. If multisite is not working can you be clearer on the issue and provide an example? – Shawn Jan 9 '14 at 20:44
  • @Aryan Please use same name for the theme then you can see the different theme in different domain like if your site on domain1 have active theme is theme1 then change the domain2 active theme name to theme one there are 2-3 steps you need to perform to change the theme name – Mitul Jun 19 '15 at 5:32

I'll try to explain how it might be done, but not shore it will work:

  1. Install 2 website with single db ( 2 copies ).
  2. Create new table in you'rs db. Call it wp_options2 and copy everithing from wp_options inside new table
  3. in seccond install in wp-config.php, before if ( !defined('ABSPATH') ) add define( 'M7_OPTIONS_TABLE', 'wp_options2' );
  4. in seccond install go to wp-includes/wp-db.php on line 951 and add code:

if ( isset( $tables['options'] ) && defined( 'M7_OPTIONS_TABLE' ) ) $tables['options'] = M7_OPTIONS_TABLE;

( these code should be added in public function tables function, before if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) ) )

Now you should be able to change theme, plugins atc. for seccond theme, but all posts, taxonomies atc. will be dubbled in both websites ( wich is bad for seo bdw. )

if on seccond install you'll have some problems with links, add define('WP_HOME','http://seccond_website.com'); define('WP_SITEURL','http://seccond_website.com'); in your wp-config.php file .....

but it wount solve the problem if you create some post in 1-st website, on seccond website it will link to first website..

I'll still post these asnwer, but it's not correct ( becouse of error described above ).

As a solution you could create 2 separet installs with different $table_prefix and add action to each move ( save_post, save_taxanomies, save_postmeta atc. ) to save from 1 db to enothere, but changing the necessery links..

or ypu could create a crone job on seccond install to pars every post, page atc from 1-st db to 2-nd ( as you have acces to them it would be easy )


Not sure if it will be enough but this two plugins should give you most of what you want Any hostname - change the content urls to reflect the domain in which the content was requested Domain Theme - change the them according to the domain name.

I haven't tested any of them but it looks like even if they don't work you can get useful pieces of code from them.


If you have two separate WordPress installations (one per domain), you can define WP_SITEURL and WP_HOME in wp-config.php to force a specific address/hostname. Add this code to each wp-config.php:


And change example.com to the name of the domain in question.


You can change the theme based on the current domain like

function select_theme( $current_theme ) {
    if ( 'domain1.com' === $_SERVER['HTTP_HOST']) {
        return 'domain1 theme name';
    } else {
        return 'domain2 theme name';

add_filter( 'stylesheet', 'select_theme' );
add_filter( 'template', 'select_theme' );

Let me repeat your question in my words: you want two wordpress sites, using the same database and the same content. Just having a different theme and a different domain name?

That's duplicate content an google will rank both your sites badly for doing so.

I highly encourage you not to do so.

If you just want to share parts. Have a look at the switch_to_blog() function provided by WordPress multisite.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.