Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save VictorieeMan/0481f716e2f249778405ae58d87bb1f7 to your computer and use it in GitHub Desktop.
Save VictorieeMan/0481f716e2f249778405ae58d87bb1f7 to your computer and use it in GitHub Desktop.
https://wordpress.org/plugins/jonradio-multiple-themes/
This tab provides information on changing Theme Options (Widgets, Sidebars, Menus, Background, Header, etc.) for all the different Themes used on a WordPress site.
Information on changing the Template for each Page or Post is found near the bottom of this tab.
Changing Theme Options
For the Active Theme, nothing changes when using the jonradio Multiple Themes plugin. Options for the Active Theme, including Widgets, Sidebars, Menus, Background, Header and other Customizations supported by the Theme, can be modified in the Admin panel using the Appearance menu items on the left sidebar. Some Themes also provide their own menu items in the left sidebar of the Admin panel, and these will still appear for the Active Theme when using this plugin.
It is more difficult to modify Options for installed Themes that are not the WordPress Active Theme. Building this functionality into this plugin is in the plans for a future Version, but it is not clear just how practical that is, so the best that can be said is: Maybe.
For now, there are four approaches that can be used to change Options for an installed Theme that is not the Active Theme. The first works best if only one Theme has a lot of Options that need to be changed frequently:
Make that Theme the Active Theme defined in the Appearance-Themes WordPress admin panel;
If that meant changing the Active Theme, the previous Active Theme can be selected on the plugin's Advanced Settings tab in the Select Theme for Everything field and it will be used everywhere except where you have specified another Theme in the Theme Selection entries for this plugin.
For other situations, two multi-step Methods are available, and are described in the two Sections below. Both Methods work for most Theme Options, with the following exceptions:
Menus really work well with Method #1, but are severely restricted with Method #2;
Widgets normally only work with Method #2;
Using both Methods may cause conflicts;
No matter which Method you choose, you may lose previously-set Theme Options. A Backup and Recovery of your WordPress Database would be required to avoid such a loss.
Finally, there is the Method of Last Resort. Although it is the most obvious way to change Theme Options, it is also the most risky, in terms of loss of Options set for other Themes.
Method #1: Set the Theme Options with Live Preview.
Note: Widgets cannot be placed using this Method.
Go to Appearance-Themes in the WordPress Admin panels.
Mouse over the Theme that you wish to change and click the Live Preview button that appears.
Use the left sidebar to modify the Theme Options. Note that Navigation will not appear in the Live Preview sidebar until a Menu has been defined in Appearance-Menus. Navigation is where you would set the custom menu(s) to be used for the Theme you are currently previewing.
Click the Save & Activate button.
Go immediately to Appearance-Themes in the WordPress Admin panels.
Mouse over the Theme that had previously been the Active Theme and click the Activate button that appears to reactivate the Active Theme.
Method #2: Use the Theme Test Drive plugin.
Note: this approach only allows Menus to be set for one Theme. Using this method to assign one or more menus to a Theme will unassign menus for all other Themes.
The jonradio Multiple Themes plugin (i.e. - this plugin) must be Deactivated, and the Theme Test Drive plugin installed and activated. This enables each Theme to be selected with the Theme Test Drive plugin, allowing the Theme's Options to be set as if it were the Active Theme.
Deactivate the jonradio Multiple Themes plugin.
Install the Theme Test Drive plugin found at http://wordpress.org/plugins/theme-test-drive/.
Activate the Theme Test Drive plugin.
Go to Appearance-Theme Test Drive in the WordPress Admin panels.
In the Usage section, select a Theme whose Options you wish to change.
Push the Enable Theme Drive button at the bottom of the Admin panel.
Make your changes to the Theme Options, including Widgets, Sidebars, Menus (see note above about Menus), Background, Header and other Customizations for this alternate Theme using the Appearance submenu in the WordPress Admin panels, just as you would for the Active Theme.
If more than one Theme has Options that need changing, repeat Steps 4-8 for each Theme (except the Active Theme, which should be only changed without the Theme Test Drive plugin activated).
Deactivate the Theme Test Drive plugin.
Activate this plugin (jonradio Multiple Themes).
Changes to the Options for the Active Theme can now be made normally, just as you would without either plugin.
Both the alternate and Active Themes should now display all Theme options properly when selected through the jonradio Multiple Themes plugin.
Method of Last Resort: Activate a Theme to change its Options.
Note: this approach is the most likely to cause the loss of Theme Options set in other Themes, though the risk does depend on the Theme and the Options that are set.
Go to Appearance-Themes in the WordPress Admin panels.
Mouse over the Theme that you wish to change and click the Activate button that appears.
Make the appropriate changes to Theme Options, clicking a Save button, if present (some Options are automatically saved; some are not).
Go immediately to Appearance-Themes in the WordPress Admin panels.
Mouse over the Theme that had previously been the Active Theme and click the Activate button that appears to reactivate the Active Theme.
Changing Templates
Many Themes provide more than one Template. For each Page or Post, you can select the Template you want to use for that Page or Post.
For the Active Theme, nothing changes when using the jonradio Multiple Themes plugin. Select an alternate Template from the drop-down list in the Template field of the Page Attributes section of the Add New Page, Edit Page, Add New Post or Edit Post page of the Admin panels. Or the Template field in Quick Edit.
It is more difficult to change Templates for Pages or Posts defined with the jonradio Multiple Themes plugin to use Installed Themes that are not the Active Theme. Building this functionality into this plugin is in the plans for a future Version.
Use the Theme Test Drive plugin. The jonradio Multiple Themes plugin (i.e. - this plugin) must be Deactivated, and the Theme Test Drive plugin installed and activated, so that each Theme can be selected with the Theme Test Drive plugin, allowing the Theme's Template to be set for each Page or Post using that Theme as if it were the Active Theme.
Deactivate the jonradio Multiple Themes plugin.
Install the Theme Test Drive plugin found at http://wordpress.org/plugins/theme-test-drive/.
Activate the Theme Test Drive plugin.
Go to Appearance-Theme Test Drive in the WordPress Admin panels.
In the Usage section, select a Theme whose Templates need to be changed for a Post or Page.
Push the Enable Theme Drive button at the bottom of the Admin panel.
Go to Posts-All Posts or Pages-All Pages in the WordPress Admin panels.
For each Page or Post where a Template needs to be changed for this Theme, mouse over the Page or Post title and click on Quick Edit.
Change the Template field.
Click the Update button.
Repeat Steps 8-10 for each Page or Post that requires a change to Template for this Theme.
If more than one Theme has Pages or Posts with Templates that need to be changed, repeat Steps 4-11 for each Theme (except the Active Theme, where Template changes should only be made without the Theme Test Drive plugin activated).
Deactivate the Theme Test Drive plugin.
Activate this plugin (jonradio Multiple Themes).
Changing Templates for the Active Theme can now be made normally, just as you would without either plugin.
Both the alternate and Active Themes should now display the correct Template when selected through the jonradio Multiple Themes plugin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment