Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Multiple Themes

Select different Themes for one or more WordPress Pages, Posts or other non-Admin pages. Or Site Home.


  • Minor support update


  • Very Simple AJAX Support: select a theme whenever /wp-admin/admin-ajax.php is accessed by URL
  • Remove P2 Theme automatic handling as it no longer works with current version of P2 Theme


  • Fix All Posts and All Pages setting's url_to_postid() function issues introduced in 7.0.2


  • Fix Port URL matching issue


  • Fix Query Matching when Value is an Integer in Query Settings


  • Check and cleanup Settings on every viewing of the Settings page, to maximize compatibility with previous versions
  • Store PostID as String instead of Integer in URL Settings so it will match incoming URL with p=id, etc.
  • Make sure that both Query Keyword and Value are never any Numeric type, but always String
  • Correct numerous small bugs


  • Fix bug that stripped off Queries in URL Settings


  • Store $wp->public_query_vars in Internal Settings for use before 'init' action
  • Tolerate missing $_SERVER['QUERY_STRING']


  • Add URL Alias settings
  • Move "Settings" link to beginning of links on Installed Plugins Admin page


  • Remove Cleanup code for Settings for non-existent Themes, as it conflicts with delete/reinstall theme version upgrades, and certain caching plugins


  • Remove /downgrade/ directory in case it caused the reported PCLZIP_ERR_BAD_FORMAT errors


  • Fix All Pages and All Posts by complete rewrite of Theme Selection logic for those Advanced Settings


  • Major rewrite of the Theme Selection logic
  • Tabs added to the Settings page, for easier navigation
  • Greatly expanded compatibility with other Plugins and Themes
  • Allow ?keyword=value&keyword=value Queries in URL, URL Prefix and URL Prefix with Asterisk ("*") Theme Selection entries
  • Accurate Theme Selection even for plugins and themes that request Stylesheet or Template information before WordPress is fully loaded
  • Tabs for the Setting page written in JavaScript for instant switching between tabs and preservation of input data, e.g. - switch between Settings and Advanced Settings tabs without having to retype your changes when you switch back
  • Theme Selection entries, if any, displayed in the order in which they are processed, to clarify which Theme will be displayed for any given URL
  • Complete How-To details on Theme Option and Template selection right on the Settings page, replacing the FAQs in the WordPress Plugin Directory
  • Automatic deletion of Theme Selection entries for Themes that have been deleted
  • Enhanced performance with tighter code, and less of it, on the public side of your WordPress site
  • Changing Permalinks invalidates more Theme Selection settings than in previous versions
  • Changing the Theme for an Entry requires Deletion of the old Entry before or after adding the same Entry with the new Theme specified
  • The new Theme Selection logic, based on URL Matching rather than Page, Post, Attachment, Category and Archive IDs, requires a conversion of some Settings from prior versions of the plugin. This conversion to the new format occurs automatically the first time that Version 5 runs. Old format settings are retained, transparently without being displayed on the Settings page, to allow downgrading to Version 4 from Version 5.


  • Fix Array to String Warning on some Search plugins by rewriting jt_mt_themes_defined() which creates list of Themes referenced in plugin Settings
  • Add More Diagnostic Information to Settings page
  • Suggest "URL Prefix" setting when "URL" setting does not work, especially for WooCommerce
  • Detect Memberium plugins and explain that Sticky will not work with Membership System V2 because it blocks Cookies
  • Add Warning and change one confusing Error Message when Query is incorrectly included in URL of Page/Post entry


  • Made all Query comparisons (URL match Setting) case insensitive
  • Eliminate Connection Info prompt from Settings page that occurred for certain User Permissions
  • Add File Permissions table to Settings


  • Correct foreach() error


  • Complete Rewrite of Sticky logic, adding additional Settings, including Override


  • Sticky: add a unique Query to URL so that Caching plugins will cache separate copies for each Theme used on a particular page


  • Add a Sticky option (Advanced Setting) for URL Queries (keyword=value) that will select the same Theme for all subsequent pages viewed by the same Visitor
  • Enhance performance by eliminating processing related to each Type of Setting when no Setting entries of that Type exist


  • Add an Asterisk ("*") to match any Subdirectory at a given level of the File Hierarchy, as another form of the Prefix URL option
  • Reorganize Settings page


  • Delay intercept of get_options 'stylesheet' and 'template' until 'plugins_loaded' (NextGen Gallery conflict)
  • Check for illegal characters in Keyword and Value of Query portion of URL in Settings fields


  • Add support for dot in URL Queries (keyword or value) by replacing parse_str()
  • Removed subfolder /includes/debug/


  • Do not execute select-theme.php on Admin panels, to eliminate error message whenever any plugin is uninstalled
  • Handle URL Query Keyword[]=Value
  • Add Polylang to list of incompatible plugins


  • Handle PHP without mbstring extension


  • Add option to select a Theme based on Query Keyword and Value pair in URL
  • Redesign how Query entries are stored
  • Full testing completed with WordPress Version 3.8


  • Add option to select a Theme based on Query Keyword in URL
  • Rearrange Settings page


  • Eliminate Fatal Error if php zip_open() function is not available, when readme.txt is out of date


  • Remove %E2%80%8E suffix from URLs being entered


  • Check with get_page_by_path() and get_posts( array( 'name' => $page_url ) ) if url_to_postid() fails to find URL input


  • Rewrite Plugin's handling of its own version number to fix issues when new sites are activated in a Network and plugin is Network-Activated
  • Prevent Fatal Error for Versions of WordPress before 3.4, and Deactivate Plugin instead, because plugin requires at least 3.4 to function
  • Security: require "switch_themes" Capability rather than "manage_options" Capability to access plugin's Settings page


  • Add SSL support so that visitors can view the WordPress site with https:// URLs and Site URL can be https://


  • Add option to override WordPress Current Theme
  • Security enhancements to eliminate direct execution of .php files


  • Handle situations where readme.txt file in plugin's directory cannot be read or written


  • Support for non-alphanumeric characters in URLs, e.g. - languages using characters not in the English alphabet
  • Support for Live Search feature of KnowHow Theme
  • Display errors, not settings, on plugin's Admin page for activated BuddyPress or Theme Test Drive plugins, or old versions of WordPress
  • Add error checking/messages and diagnostic information to plugin's Admin page


  • Prevent Warning and Notice by initializing global $wp


  • Prevent Fatal Error by initializing global $wp_rewrite


  • Discovered url_to_postid() function, to address situations where Slug differed from Permalink, such as Posts with Year/Month folders


  • Fix White Screen of Death on a Page selected by plugin


  • Support Child Themes and any other situation where stylesheet and template names are not the same


  • Correct Problem with P2 Theme, and its logged on verification at wp-admin/admin-ajax.php?p2ajax=true&action=logged_in_out&_loggedin={nonce}
  • Add "Settings Saved" message to Admin page
  • Tested with WordPress Version 3.5 beta


  • Add Support for Prefixes, where all URLs beginning with the specified characters ("Prefix") can be assigned to a specified Theme


  • Add Support for Categories and Archives when no Permalinks exist (support already existed Categories and Archives with Permalinks)
  • Resolve several minor bugs


  • Rewrite much of the Settings page and Plugin Directory documentation
  • Add Support for IIS which returns incorrect values in $_SERVER['REQUEST_URI']
  • Make it easier to select the Theme for the Site Home by providing a new Settings field
  • Remove ability to set Theme for Admin pages since no known Theme provides Admin templates, and because the previous implementation sometimes displayed the incorrect Current Theme in Admin; this feature may be re-added in a future release, and could even be used to change Settings of Themes that are not currently the Current Theme
  • Add version upgrade detection to add, remove and update Settings fields
  • Move Settings link on Plugins page from beginning to end of links


  • Address pecularities of wp_make_link_relative() related to root-based WordPress sites using Permalinks


  • Fix foreach failing on some systems, based on PHP warning level


  • Make plugin conform to WordPress plugin repository standards.
  • Beta testing completed.

Requires: 3.4 or higher
Compatible up to: 4.6.2
Last Updated: 4 months ago
Active Installs: 10,000+


4.8 out of 5 stars


0 of 2 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,2,2
100,1,1 100,1,1
100,2,2 100,4,4
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1