Changing the Default Theme on WordPress 3 Multi-site

WordPress‘ default theme has come a long way with the new twentyten theme. However, for those of us using the multi-site feature it may still not be something we want all our users to be using on sign-up. Fortunately, there is an easy fix to the problem.

First, open up includes/default-constants.php in your code editor.

Change define( ‘WP_DEFAULT_THEME’, ‘twentyten’ ); from twentyten to the name of your new theme. This is located right at the very end of the file so it should be easy to find.

If you’re not using a theme that is a child of another theme you’re done. If you are using a child-theme you’ll need to add some more code for this to work.

In your content/mu-plugins folder create a file called default-theme.php

Add the following code to default-theme.php

<?php
$tName = get_option(‘template’);
if ($tName == ‘[your-child-theme]’) {
update_option(‘template’, ‘[your-parent-theme]’);
}
?>

Of course, you’ll need to replace the your-parent-theme and your-child-theme placeholders with the names of your themes. Once it’s done however new registrations will use your theme instead of the default twentyten theme.

About Chris Wiegman

Chris is a developer for iThemes where he works on the iThemes Security and iThemes Security Pro WordPress plugins. In past roles he has served as a teacher, blogger, manager and even an airline captain. He resides in Austin, TX with his wife Joy and their four-legged children.

Find Chris on Facebook, , LinkedIn, and Twitter.