Enable a theme for one site only

Enable a theme for one site only

Sometimes in a WordPress network, you may wish to have a theme enabled just for one site, and restrict access to this theme by other sites. The main blog is a good example, because you do not want users able to choose the exact same layout as the main blog with any custom coding it may have.

First, make sure the theme is not enabled network-wide. If you have just uploaded the theme, it will be like this by default. If it is already enabled, you need to visit Network Admin -> Themes. There's two handy sections to show which themes are enabled and which are not.

Just click the "Network Disable" link if there is one.

To enable the theme for use on just one site, go to Network Admin > Sites. Find the site in question, hover over the name to drop down menus, and click Edit. This will bring you to a page to edit all variables for this blog.

There are tabs to break down the options into sections. Click on the Themes tab and you'll be presented with a list of all disabled themes installed on the network. This list will also include themes that are enabled for single sub sites. Check the one you’d like to enable for this blog, scroll down, and click the Apply button.

When the admin of this site goes to their Appearance menu, they should now see the new theme as available for activation. Other site admins will not be able to see it in their Appearance menus. You can test this as a super admin by visiting the backend admin area of the site in question.

If a theme is active on any sub site, and the Super Admin network disables the theme, the site using that theme will remain unchanged. In other words, the theme will stay active on the site. It is only when the site owner switches away from that theme to another, that the disabled theme will be removed from the Appearance menu.

3 Comments
  • Elle Billias
    Posted at 11:13h, 16 July Reply

    Thanks for that tip, I thought there would be a way to do it just hadn’t come across it yet 🙂

  • Charlie
    Posted at 12:45h, 22 August Reply

    Do you know of a function I can put in a mini plugin to enable themes on a site?

    What I would like to do is have a plugin that can be activated on some sites and all my Genesis child themes then be available to sites running the activated plugin.

    I have used register_theme_directory in the plugin to register a directory for the child themes, which keeps them separate from my other themes, I am now trying to enable these themes via the plugin.

  • Useful Tidbits October 5, 2011 | Shelley Keith
    Posted at 00:52h, 06 October Reply

    […] Enable a theme for one site only – WordPress "Must-Use" Tutorials […]

Post A Comment