Previously on the CogitActive Saga:
Moving down the navigation menu (on the left side of the Network Admin), the other menus are Sites, Users, Themes, Plugins and Settings.
WordPress, as a content management system (CMS), makes it easy to create and publish content on the web and, by extension, to build a website. Like any other CMS, WordPress separate design and content; yet, automatically melding the two together for displaying the site on a visitor’s computer. In WordPress, the overall look of the site depends on the theme, which controls things like the color scheme, layout and style elements1.
By default, WordPress assigns a theme for all new sites – as part of the WordPress installation process – since it expects at least one theme to be active2. However, you can install new ones, preview, delete, activate and update them. In a regular WordPress installation, these actions are performed via the Appearance Themes screen. Now, what about theme management in WordPress Multisite? In keeping with my tour of the Network Admin (see Network Settings), let me start with the Network Admin Themes screen (My Sites > Network Admin > Themes).
Network Admin Themes
In many respects, this screen works in the same way as the Network Admin Plugins screen addressed in the previous post. Briefly, there are three sub-menus: Installed Themes, Add New and Editor.
The first – Installed Themes – provides access to the so-called Table of Themes, which lists all the installed themes. For each theme, the table provides information such as name, description, version, author and a link to the theme’s site. Under the theme’s name, there are links to the following actions:
- Network Enable (or Network Disable)
- Delete (not always present)
The second – Add New – brings you to the automated Theme installer, from where you can search the WordPress Theme Directory and install themes simply by clicking the Install button. You can also use the Preview button
to give you a better idea of how the theme will look3. Just a reminder:
When the multisite feature is enabled, only users who have network admin access have permission to install themes.Lisa Sabin-Wilson
The last – Editor – gives you access to the built-in Theme Editor. From there you can view or change
any code kept in a Theme Template or Stylesheet files4. A word of caution, though: the changes made are instant (i.e. they happen online, in real-time) and the editor doesn’t make any backup. Therefore, it is better and safer to edit copies of the files offline, keeping a backup of the original file before to replace it with the edited copy.
If you introduce an error that crashes your site, you cannot use the editor to fix the problem.The WordPress codex
Importantly, if you modify a theme file, every site on the network using that theme will be impacted. If you want to tweak the appearance of themes on a per site basis, you may consider using the Theme Customizer instead; the settings will be saved separately (for that site). An even better alternative is to use a child theme (coming soon).
The important stuff
Again, only Super Admin can install themes – the price to pay for using the Multisite feature. Now, even though all themes are installed for the entire network,
you can choose to have the same theme on all sites or different themes5. Let me explain.
If you “Network Enable” a theme from the aforementioned screen (Themes > Installed Themes), you make it available to be activated on all individual sites. It does not make it the active theme on every site, though. Likewise, “Network Disable” a theme that has been activated in a single site does not prevent that theme from being used by this site (i.e. it remains activated in this site); it only prevents the theme from being listed in the Themes screen of the individual sites (Appearance > Themes).
After you install a theme, you must enable it in your network; then the theme appears on the Appearance menu of each site, and users in your network can activate it on their sites.Lisa Sabin-Wilson
Now, if you want to have a theme available for use only on one site, i.e. not available for other sites to choose, you can selectively enable it through the Themes tab of the Edit Themes screen (Sites > All Sites > Edit > Themes; see Network Admin Sites). Note that only themes that haven’t been network enabled are shown here.
To recap, you can either “Network Enable” (Themes > Installed Themes) or “Enable” (Sites > All Sites > Edit > Themes) themes. These action do not activate the theme (as opposed to the “Network Activate” and “Activate” actions used for plugins), though, but simply make it available for use globally or on a per site basis, respectively. For each site, you still have to Activate the theme you want to use (Appearance > Themes); hence, you keep site-specific control.
Coming next: How did I choose my theme?
1 Some themes will also add functionality. Although this may look great, best practices recommend using themes only to control the presentation of content. It is indeed best to avoid adding critical functionalities via themes, but instead, to move them to plugins. Doing so makes it possible to change the theme, hence the design of the website, without losing access to these functionalities. ^
2 As explained in Network Admin Themes Screen, if you remove this active (default) theme,
you need to define a new default theme with the WP_DEFAULT_THEME constant (by editing the wp-config.php file). ^
3 See Appearance Themes Screen. ^
4 See Appearance Editor Screen. ^
5 Lisa Sabin-Wilson (2017) WordPress All-in-One For Dummies – Third Edition. Hoboken, New Jersey: John Wiley & Sons. ^