Join WPMU DEV to switch themes with

Theme Switcher

Let users switch between themes from the front end of a site – in a post, a page, a widget or right from the WordPress toolbar.

Downloads 26,346
Ultra Compatible

Changelog / Translations

  • Corrected reported issue where widgets where not properly being changed when switching themes.
  • Corrected reported issue where widgets where not properly being changed when switching themes.

  • Corrected issue where get_query_var was causing fatal error with WPML installed.

  • Corrected reported issue where ADV_THEME_SWITCHER_TOOLBAR define was not accepting 'dropdown' value for 'display_type' parameter.
  • Removed outer

  • Fixed reported issue where selected theme to preview on site front-end was effecting actual theme selection/change within Dashboard Appearance > Themes.

Version 1.0.9
  • Fixed reported issue of sorting themes when themes are set into sub-directories within the /wp-content/themes/ directory
  • Added better control for WordPress Toolbar menu Themes output via wp-config define variable 'ADV_THEME_SWITCHER_TOOLBAR'. See instructions.txt file in plugin folder for details.
  • Added shortcode support [adv_theme_switcher] so you can display themes listing on pages instead of relying on widgets which are theme specific. See instructions.txt file in plugin folder for details and options.
  • Added a second wp-config define option ADV_THEME_SWITCHER_DEFAULTS to control default values site-wide.

  • Fixed issue when hiding parent themes children themes were also being hidden.

Version 1.0.8
  • Updated call to get_themes and get_active_theme to non-deprecated functions
  • Added some options to the widget: Hide Parent themes (will show only child themes), Show theme version in title, Group themes by parent child nested.
  • Cleanup some of the processing logic and caching.

Version 1.0.7
  • Removed rewrite logic. Should not be needed since the plugin sets a cookie to persist selected theme. Plus the rewrite rules were conflicting with Members and other plugins.
  • Added theme switcher to admin menubar for logged in users.

Version 1.0.6
  • Fixed problem with multi words themes;

Version 1.0.5
  • Fixed rewrite rules;

Version 1.0.4
  • Compatibility update for WordPress 3.1
  • Internal architecture improved
  • Bug fixes

Version 1.0.3

    Version 1.0.2

      Version 1.0.1

        Version 1
          Let users switch between themes from the front end of a site.
          • Switch themes from front end
          • Adds switcher to WordPress toolbar
          • Preview theme design from nice URLs
          • Great for Multisite and BuddyPress
          • Parent and child theme selector
          • List or drop-down selector

          Theme Switcher gives your users the ability to switch between themes from the front end of your site.

          It also provides you with the opportunity to preview different theme designs quickly and easily. Plus, it works perfectly for any WordPress, Multisite or BuddyPress site.

          Switch From Anywhere

          The plugin comes complete with a handy widget that allows you to offer either a list or drop-down choice of themes.

          Enable your users to easily switch themes with a simple widget.
          Enable users to easily switch themes with a simple widget

          You can also have a theme switcher right in your WordPress toolbar.

          Activate the theme switcher right in your WP toolbar!
          Add theme switcher to your toolbar

          One of the coolest things about this plugin, is that it allows previews of different theme designs via nice URLs.

          Give Your Clients Options

          This a must have for anyone wanting to offer their users maximum flexibility of personalization, or to demonstrate to clients different layout options on a WordPress, Multisite or BuddyPress network.

          Works great with all WPMU DEV themes.
          Works great with all WPMU DEV themes

          You won’t find a better theme switcher available for WordPress, Multisite or BuddyPress on the web.

          To Get Started:

          Start by reading the Installing Plugins section in our comprehensive WordPress and WordPress Multisite Manual if you are new to WordPress.

          To Use

          There are 3 ways the Advanced Theme Switcher plugin can be used:

          • As a widget in any sidebar.
          • As a shortcode anywhere you want it.
          • As a menu item in your WordPress toolbar.

          Let’s take a look at each method in detail, shall we?

          Using the Widget

          The Theme Switcher widget enables you to simply drop a widget in any sidebar, and set the options with a few clicks.

          You can set it up to display your theme selection either as a dropdown or a list, and you have full control over how the themes should be organized.


          Using the Shortcode

          The Advanced Theme Switcher now supports use of a shortcode. So you can place the themes listing in a post or page instead of being limited to the display with the built-in widget. As you are probably aware, widgets do not transfer between themes. So when the theme is switched you lose the widget (unless you add it to every theme you have and save them).

          The basic shortcode using all default options is simply:

          There are many optional parameters you can add to the shortcode to customize the output of the themes list. They are the same options as you see in the widget:

          display_type – Possible values: no/false, dropdown, list. As the values imply, you can show the themes in dropdown/select or an unordered list. For example:
          [adv_theme_switcher display_type='list']

          show_theme_parent – Possible values: yes (default) or no. This controls display of the parent theme when it also has children. If set to ‘yes’ the parent and child will be displayed. If set to ‘no’ only child themes will be displayed. Also included in the display will be base themes which do not have child themes associated. For example:
          [adv_theme_switcher show_theme_parent='yes']

          show_theme_groups – Possible values: yes (default) or no. This option is only used if the ‘show_theme_parent’ option is set as ‘yes’. If set to ‘yes’ this option will display the parent/child themes represented in a hierarchy output. Meaning the child theme will be shown indented beneath the parent theme. If set to ‘no’ the parent and child themes will be displayed in a normal output. For example:
          [adv_theme_switcher show_theme_parent='yes' show_theme_groups='yes']

          show_theme_parent_folder – Possible values: yes (default) or no. This option depends on how your themes are organized within the /wp-content/themes/ directory. WordPress allows you to nest your themes into sub-directories. So for example you may group your themes into sub-directories like /wp-content/themes/Free, /wp-content/themes/Premium. WordPress only supports one level of sub-directory. If you have your themes organized within sub-directories and this option is set to ‘yes’ the plugin will display the output with an outer level of the hierarchy. The sub-directory name will be used as the label for this outer level. For example:
          [adv_theme_switcher show_theme_parent_folder='yes']

          show_theme_version – Possible values: yes (default) or no. When set to ‘yes’ this will include the theme version as part of the theme name. If set to ‘no’ the version will not be shown. For example:
          [adv_theme_switcher show_theme_version='no']

          show_theme_parent_filter – Value: theme directory text. Using this option you can limit the output of the themes to a partial listing. For example if your themes are organized into sub-directories (see notes on ‘show_theme_parent_folder’ option) and one of the sub-directories is named ‘Free’ then setting this option to ‘Free’ will show only themes within that sub-directory. Also, you can set this option to be a specific parent theme. As a second example assume you have a number of child themes based on the WordPress TwentyThirteen theme. You can set this option to ‘twentythirteen’ and the parent and any child themes only will be displayed. (This option is not available in the widget.) For example:
          [adv_theme_switcher show_theme_parent_filter='twentythirteen']

          Theme switcher in the WordPress toolbar

          Yep, you can have a theme switcher right in your WordPress toolbar too!


          To get the theme switcher in your WordPress toolbar, you just need to add a simple define to your wp-config.php file.

          The define as shown above will output the theme switcher with the default settings. But you can use the same shortcode options detailed above to customize the option=value pairs and control how the Advanced Theme Switcher outputs the information.

          Note that when using the theme switcher in the WordPress toolbar, an additional value can be specified for the display_type option: menu. And an additional option can be defined:

          display_type_sub – Possible values: dropdown (default), menu. For example, let’s show the sub-menu items in a dropdown instead of sub-menu items.
          define('ADV_THEME_SWITCHER_TOOLBAR', 'display_type=menu&display_type_sub=dropdown');

          Note the difference in how the optional parameters are added to the define in wp-config.php. Each option should be separated by an ampersand (&), and should not be enclosed in quote marks.

          Setting custom default options

          You can also set your own default options in your wp-config.php by adding this define, and adjusting the values for each option:
          define('ADV_THEME_SWITCHER_DEFAULTS', 'display_type=dropdown&show_theme_parent=yes&show_theme_version=yes&show_theme_groups=yes&show_theme_parent_folder=yes');

          This means for widgets and shortcode this will be the default option set used. You can then override these default options via the local shortcode or widget options.

          We hope you and your users enjoy the freedom of viewing your site in any theme you have! If you run into any issues, just head on over to the forums. Our stellar support team (and members!) are standing by to help you get things up and running smoothly.

          Theme Switcher is covered by the WPMU DEV Guarantee

          WPMU DEV Guarantee

          We guarantee that...

          • Theme Switcher will work as advertised
          • You will receive 24/7 365 expert support for any problem
          • If you cancel your FREE trial, you can keep Theme Switcher
          • Theme Switcher is secure, always updated and well coded

          Money back guarantee!

          While you have 30 days, no obligations risk-free trial of WPMU DEV if you become a paid member and are dissatisfied with any of the above we'll refund you, no questions asked.