Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I want to start a new theme for my Multsite install instead of simply modifying the current theme. The problem is I have a lot of sites running on Multsite so it would be a little painful to change all my sites to the new theme one by one.

Is there a way to change the theme of sites by more then one at a time? In sites in network admin I can see a bulk actions option but when I select my sites and click apply, it does nothing (should it!?)

share|improve this question
    
Any progress? Was my answer helpful? Do you still miss something? –  toscho Oct 6 '12 at 22:29

1 Answer 1

Create a MU plugin and filter 'template_directory'.

Sample code to force TwentyEleven on all sites:

<?php # -*- coding: utf-8 -*-
// Plugin Name: Force Styleswitch
// 08.06.2012
add_filter( 'template_directory', 't5_switch_theme', 10, 3 );

function t5_switch_theme( $template_dir, $template, $theme_root )
{
    $forced_theme = 'twentyeleven';
    $template !== $forced_theme
        and update_option( 'stylesheet', $forced_theme );
    return "$theme_root/$forced_theme";
}

You could also iterate over all blogs – use get_blog_count() and switch_to_blog() – and run the update just once.

The Network enable action in wp-admin/network/themes.php just makes atheme available on a site, it doesn’t set it as active theme.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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