Getting Started
- 01Upload the plugin and activate
- 02Visit plugin settings and check the box to “Enable Switching”
- 03After clicking “Save Changes”, scroll down to view available themes
- 04Click on any theme thumbnail to switch privately to that theme
Important: Please read this support topic !
More info on installing WP plugins
Usage: Switch Themes
After activating Theme Switcha, visit the plugin settings page. There you can enable theme switching via the “Enable Switching” option. After that option is enabled, a menu of all available themes will be displayed on the settings page. From there you can click any thumbnail to switch privately to that theme. While you view the switched theme, your regular visitors will continue viewing your normal active theme. To verify this, visit your site in a different browser (with clean cache and cookies).
Tip: In the plugin settings, a thumbnail menu of all available themes will be displayed after you enable the “Enable Switching” option. Otherwise if that option is disabled, no theme thumbnails will be displayed.
Usage: Display Menus
In addition to switching themes via the settings page, you also can display a menu of switchable themes. In order for any theme-switch menu to work, the plugin setting “Allowed Users” must be set to “Everyone”. So all visitors can enjoy your site using their preferred theme.
Theme Switcha provides several shortcodes for displaying theme-switch menus:
Display themes as list of links: [theme_switcha_list display="list"] // display = (list or flat) format of the list Display themes as thumbnail links: [theme_switcha_thumbs style="true"] // style = (true or false) include default CSS Display themes in select/dropdown menu: [theme_switcha_select text="Choose a theme.."] // text = for the default option Display plain-text link for theme switch: [theme_switcha_link theme="mytheme" text="Switch Theme"] // theme = theme name, text = link text
These shortcodes can be included in any WP Post, Page, or supportive widget (e.g., the default “Text” widget that’s included with WordPress).
If you would rather include the theme lists via your theme, you can use any of these template tags:
<?php if (function_exists('theme_switcha_display_list')) theme_switcha_display_list(); ?> <?php if (function_exists('theme_switcha_display_thumbs')) theme_switcha_display_thumbs(); ?> <?php if (function_exists('theme_switcha_display_dropdown')) theme_switcha_display_dropdown(); ?>
Alternately you can call the shortcodes in your theme template using do_shortcode .
Usage: Theme-Switch Links
Theme Switcha also enables you to create theme-switch links that you can share with others. To begin, follow these steps:
- 05Determine the slug/name for the theme (should be same as name of theme directory)
- 06Choose any URL from your site, and append ?theme-switch=mytheme
For example, if you have a theme named “My Awesome Theme” that is located in a directory named /my-awesome-theme/ , you would create a theme-switch URL like so:
https://example.com/?theme-switch=my-awesome-theme
What happens if you enter that URL in a browser? Well, that depends on the plugin setting, “Allowed Users”:
- 07If Allowed Users is set to “Everyone”, the URL will enable anyone to switch to the specified theme
- 08If Allowed Users is set to “Only Admin”, the URL will enable any logged-in admin-level user to switch to the specified theme
- 09If Allowed Users is set to “Only with Passkey”, the URL requires a passkey in order to switch to the specified theme
We’ll look at how to make a Passkey Link in the next section. For the other two options, “Everyone” and “Only Admin”, you can either share the URL as-is, or make it a clickable hyperlink such as the following example:
<a href="https://example.com/?theme-switch=my-awesome-theme">Switch to My Awesome Theme</a>
Usage: Passkey Links
Passkey links are a great way to enable private theme switching without giving the user access to the WP Admin Area. To make a Passkey Link, follow these steps:
- 10Visit the Theme Switcha settings page
- 11Enable the “Enable Switching” option
- 12For the “Allowed Users” option, select “Only with Passkey”
- 13Save changes
After saving changes, thumbnails will be displayed for each available theme. So to get a Passkey Link:
- 14Right-click on the thumbnail image for the desired theme
- 15Select “Copy link address” to copy the URL to your clipboard
Done! You now have a Passkey Link ready to paste wherever. It will look similar to this:
https://example.com/?theme-switch=my-awesome-theme&passkey=1234567890
So you can either share the Passkey Link as-is, or make it a clickable hyperlink such as the following example:
<a href="https://example.com/?theme-switch=my-awesome-theme&passkey=1234567890">Switch to My Awesome Theme</a>
Here are some notes about Passkey Links:
- 16Passkey links work for logged-in users and logged-out users
- 17Passkey links must include the theme name and valid passkey
- 18The theme name must be the theme slug (e.g., “my-theme” not “My Theme”)
Here is an example of proper passkey format:
https://example.com/?theme-switch=THEMESLUG&passkey=PASSKEY
Here you would replace “THEMESLUG” with the slug of the theme you want to preview, and “PASSKEY” with the current passkey (provided via the “Passkey” setting). Here is an example showing how to make a clickable link from the Passkey URL:
<a href="https://example.com/?theme-switch=THEMESLUG&passkey=PASSKEY">Switch Theme!</a>
Important
This plugin should not be used together with WordPress features such as the Theme Customizer, Widgets, and Menus. Doing so may result in private changes being made public on the current active theme. Learn more .
Plugin Options
Theme Switcha provides three basic configurations via the “Allowed Users” option:
- 19Admins only – useful for theme developers to work on themes on a live site
- 20Passkey only – useful for sending clients preview links to new templates
- 21Everyone – allow everyone to switch themes (required for shortcodes)
Other options should be self-explanatory. If you have any questions, feel free to post in the Theme Switcha Support Forum . I usually respond very quickly 🙂
Note: It’s a good idea to change the Passkey periodically to prevent access to alternate themes (only required when using “Passkey only” configuration).
How It Works
If you’re still scratching your head at this point, here are some points that may help to clarify how theme-switching works:
- 22Your site always will have a default active (primary) theme
- 23The primary theme always will be visible to regular visitors
- 24If you enable Theme Switcha, you can privately view other themes
- 25So you can switch to a theme that only is active for YOU only
- 26You can also enable visitors to switch themes on the front-end
- 27You can even send a private theme-switch URL to friends, etc.
So while you re viewing and working on a switched theme, all other users will continue to see/use the default active theme. When you are done working on your switched theme, you can disable theme switching via the plugin settings. Upon doing so, you will be viewing the default active theme like everyone else.
Also keep in mind that theme-switching is browser-specific (via cookies). So if you need to view the theme in multiple browsers, the easiest way is to use the passkey link. The passkey enables you to quickly switch themes by simply entering the URL in your browser’s address bar. See the next section for details.
Because Theme Switcha is browser-specific, you can easily test theme-switching functionality by simply visiting your site in a different browser (with cleared cache and cookies). For example, in one browser you can be logged in to WordPress and switch to some other theme. While in the other browser, you are not logged in and thus viewing the site as a regular visitor, so you will be viewing the default active theme.
Going Live
Here are the steps to “go live” with your switched theme once you are ready to do so:
- 28Visit the plugin settings and disable the option “Enable Switching”.
- 29Visit Appearance > Themes to activate the theme for the world to see.
After these steps, the active theme will be visible to you and everyone else.
Excluding Themes
To exclude a theme from theme switching, open the theme’s style.css file and add Status: private or Status: unpublished to the file header. Or, to exclude a theme only for visitors, add Status: admin-only to the file header.
Here is a summary:
Status: private = theme excluded from theme switching Status: unpublished = theme excluded from theme switching Status: admin-only = theme available for switching only by admin-level users Status: publish = theme available for switching by all users (depending on settings) No Status header = theme available for switching by all users (depending on settings)
You can remove the Status file header at any time to make the theme available for theme switching.
Troubleshooting
If theme-switching isn’t working for you, here are some things to check:
- 30Make sure you have more than one theme installed
- 31Make sure there are no other plugins interfering
- 32Make sure there are no .htaccess rules interfering
- 33Make sure only one theme-switching plugin is enabled
- 34Make sure WP_DEFAULT_THEME not defined in wp-config.php
- 35Make sure your theme is using the WP API for settings, etc.
- 36Try using a different browser and/or clearing your cache and cookies
Those are the main things to check. If theme-switching still isn’t working for your site, most likely something is interfering with normal functionality. In that case, you can do some basic troubleshooting to help identify the culprit.
Current active theme
Theme Switcha provides a function that returns the name of the currently active theme:
theme_switcha_active_theme()
This can be used just like any other WP function, in plugins and theme templates.
Like the plugin?
If you like Theme Switcha, please take a moment to give a 5-star rating . It helps to keep development and support going strong. Thank you!
Uninstalling
This plugin cleans up after itself. All plugin settings will be removed from the WordPress database when the plugin is deleted via the WP Plu