Description
Preview any theme privately on the front-end
Develop themes privately behind the scenes
Enable your visitors to switch themes
Switch to an alternate theme for preview or development while visitors use the default theme 🙂
-
Enables visitors to switch themes via the frontend -
Enables admins to test alternate themes for debugging -
Enables developers to build/customize themes privately -
Enables you to create links that switch to specific themes -
Enables live private previews of any installed theme
Theme Switcha = Best Theme Switcher for WordPress
-
Develop new themes while visitors use the default theme -
Control who can switch themes (admins, w/ passkey, or everyone) -
Administrators can switch themes directly via the WP Admin Area -
Enable visitors to switch and preview themes on the front-end -
Each visitor can choose their own theme -
Send preview links to clients via the passkey -
Choose your own custom passkey code for preview links -
Set the duration (cookie timeout) for switched themes -
Enable/disable theme preview in the Admin Area -
Enable/disable all theme switching without deactivating the plugin -
Provides several shortcodes to enable visitors to switch themes -
Shortcodes display themes as a list, select menu, or thumbnails -
Changed options are saved when working on switched themes -
Dashboard widget to switch themes via select menu -
Simple, stylish UI featuring screenshots of each theme -
Works with any theme, parent themes and child themes -
Works with or without Gutenberg Block Editor -
Works with WP Multisite
-
Easy to use -
Squeaky clean code -
Simple and focused -
Built with the WordPress API -
Lightweight, fast and flexible -
Focused on performance and security -
Regularly updated and “future proof” -
Works great with other WordPress plugins -
Plugin options configurable via settings screen -
Plugin cleans up after itself upon uninstall -
One-click restore plugin default options
-
Maintenance mode – display a temporary theme to visitors while you update your primary theme -
Theme test drive – preview and test new themes without disrupting anything on the frontend -
Theme development – perfect for developing new theme templates to fit existing site content -
Client presentations – send clients special “theme preview” links to show off new templates
-
The Tao of WordPress -
Digging into WordPress -
.htaccess made easy -
WordPress Themes In Depth -
Wizard’s SQL Recipes for WordPress
-
BBQ Pro – Super fast WordPress firewall -
Blackhole Pro – Automatically block bad bots -
Banhammer Pro – Monitor traffic and ban the bad guys -
GA Google Analytics Pro – Connect WordPress to Google Analytics -
Simple Ajax Chat Pro – Unlimited chat rooms -
USP Pro – Unlimited front-end forms
Credit
Screenshots
Installation
-
Upload the plugin and activate -
Visit plugin settings and check the box to “Enable Switching” -
After clicking “Save Changes”, scroll down to view available themes -
Click on any theme thumbnail to switch privately to that theme
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
<? 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(); ?>
-
Determine the slug/name for the theme (should be same as name of theme directory) -
Choose any URL from your site, and append ? theme-switch=mytheme
https://example.com/?theme -switch=my-awesome-theme
-
If Allowed Users is set to “Everyone”, the URL will enable anyone to switch to the specified theme -
If Allowed Users is set to “Only Admin”, the URL will enable any logged-in admin-level user to switch to the specified theme -
If Allowed Users is set to “Only with Passkey”, the URL requires a passkey in order to switch to the specified theme
<a href=" https://example.com/?theme -switch=my-awesome-theme">Switch to My Awesome Theme</a>
-
Visit the Theme Switcha settings page -
Enable the “Enable Switching” option -
For the “Allowed Users” option, select “Only with Passkey” -
Save changes
-
Right-click on the thumbnail image for the desired theme -
Select “Copy link address” to copy the URL to your clipboard
https://example.com/?theme -switch=my-awesome-theme&passkey=1234567890
<a href=" https://example.com/?theme -switch=my-awesome-theme&passkey=1234567890">Switch to My Awesome Theme</a>
-
Passkey links work for logged-in users and logged-out users -
Passkey links must include the theme name and valid passkey -
The theme name must be the theme slug (e.g., “my-theme” not “My Theme”)
https://example.com/?theme -switch=THEMESLUG&passkey=PASSKEY
<a href=" https://example.com/?theme -switch=THEMESLUG&passkey=PASSKEY">Switch Theme!</a>
-
Admins only – useful for theme developers to work on themes on a live site -
Passkey only – useful for sending clients preview links to new templates -
Everyone – allow everyone to switch themes (required for shortcodes)
-
Your site always will have a default active (primary) theme -
The primary theme always will be visible to regular visitors -
If you enable Theme Switcha, you can privately view other themes -
So you can switch to a theme that only is active for YOU only -
You can also enable visitors to switch themes on the front-end -
You can even send a private theme-switch URL to friends, etc.
-
Visit the plugin settings and disable the option “Enable Switching”. -
Visit Appearance > Themes to activate the theme for the world to see.
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)
-
Make sure you have more than one theme installed -
Make sure there are no other plugins interfering -
Make sure there are no .htaccess rules interfering -
Make sure only one theme-switching plugin is enabled -
Make sure WP_DEFAULT_THEME not defined in wp-config.php -
Make sure your theme is using the WP API for settings, etc. -
Try using a different browser and/or clearing your cache and cookies
theme_switcha_active_theme()
FAQ
-
Does the plugin enable anyone to switch themes? -
Yes, just set the “Allowed Users” option to “Everyone”, and then add any shortcode to your page. After you do that, any user will be able to switch themes even if they are not logged in to your site. -
I click the links but the theme does not switch? -
It could be because of a caching plugin, or if you are trying to switch themes while logged out of WP, it could be that the setting “Allowed Users” is not set to “Everyone”. -
How do exclude themes from theme switching? -
Open the theme’s style.css file and add Status: private or Status: unpublished to the file header. See section on “Excluding Themes” in the Installation Docs for more infos. -
Does this plugin support Multisite? -
It should work fine with Multisite, but it hasn’t been officially tested yet. -
I am having problems with white screens or other errors? -
Two things: 1) deactivate the plugin or remove via FTP, and 2) report the issue so I can investigate and try to fix any bugs. -
How is the CSS included for the front-end shortcodes? -
For better performance, the styles are included inline. The styles for each shortcode are minimal, so it’s faster to include them inline via style tags rather than chewing up another HTTP request. If you are concerned for whatever reason, you can use disable the styles in the [theme_switcha_thumbs] shortcode, like so: [theme_switcha_thumbs style="false"] . That way the styles won’t be included and you can add your own however desired. -
Do I need to activate my alternate theme? -
Question: Do I need to activate my alternate theme via Appearance > Themes? Short answer: “no”, stay away from the Appearance > Themes screen while switching themes. Long answer: whenever you activate a theme via the Appearance > Themes screen in the WP Admin Area, that theme will be the one that is publicly displayed (live). That’s why, with Theme Switcha, you don’t make any changes via the Themes screen; rather, you just visit the plugin settings and click on whichever theme you want to view privately. Complete instructions are available here and in the plugin’s readme.txt. -
Theme settings not saved after theme switching disabled? -
As explained in the plugin documentation, Theme Switcha should not be used with admin-related functionality like Gutenberg, Customizer, Widgets, Menus, etc. You can learn more about this here . -
Widgets are not saved after theme switching is disabled? -
As explained in the plugin documentation, Theme Switcha should not be used with admin-related functionality like Gutenberg, Customizer, Widgets, Menus, etc. You can learn more about this here . -
When I switch themes, will it apply to all admins or just me? -
Great question. Theme-switching uses cookies to work, so it is browser-specific. That basically means that only the person who switched the theme will be able to view it. There currently is no option to switch to the same theme at the same time for multiple users. It is possible, however, to share the same Passkey Link to any group of users, so th ey all will switch to the same theme. For more information about this, check out the section “Usage: Passkey Links”, located in the Installation Docs . -
How can I let visitors choose their own theme? -
You can use any of the front-end shortcodes to enable visitors to select any available theme. It’s also possible to exclude themes from switching. Visit the Installation Docs for more information (under “Usage: Display Menus” and “Excluding Themes”, respectively). -
When switching themes, will visitors see the same content? -
Yes, the same database/content will be displayed regardless of which theme is enabled or switched. The WP database provides the content for ALL themes. -
How can I test demo content while switching themes? -
Question: How can I test demo content (like posts and pages) while switching themes? Answer: Just make sure that all of the demo content is added as “Draft” or “Pending” instead of “Published”. Then only logged-in users with proper capabilities will be able to see it. -
I still don’t get it.. how do I switch themes? -
Here are the steps to use the plugin: 1) Visit the plugin settings and enable the setting, “Enable Switching”. 2) Under “Available Themes”, you will see all themes that are available for switching; click one to enable it only for you (admin). Whichever theme you enable via the plugin settings will be available to you only, so you can work on the theme while regular visitors see whichever theme is activated under the Appearance menu. Note that changes made to the switched theme will be visible only by you and other admins. Changes made to content (like post content, page content, categories, tags, etc.), on the other hand, affect all themes and will be visible to your regular visitors. For more information, check out the Installation Docs . -
How do I switch themes? -
Theme Switcha is meant for temporarily switching themes. To actually change the current default active theme, visit the Themes page in the WordPress Admin Area. -
How do I go live with changes made to my theme? -
First, as explained here , Theme Switcha is for making changes to your theme template. With that in mind. If you switch to the “Awesome” theme using Theme Switcha, and then modify the theme template files, those changes will be made public once you change the default active theme to “Awesome” (via the WP Themes page). Note: For any admin-related features like the Customizer, Widgets, Menus, and other theme-related options, any changes made to a switched theme may or may not be remembered after activating the theme as the site’s default active theme. This is why Theme Switcha is not recommended for use with admin features like Customizer, Widgets, etc. To learn more , read this Important Information . -
Got a question? -
Send any questions or feedback via my contact form
Reviews
Contributors & Developers
Interested in development?
Changelog
-
Updates plugin settings page -
Updates default translation template -
Improves plugin docs/readme.txt -
Tests on WordPress 6.5 (beta)