WordPress has a nice feature that allows you to preview your site in a different theme, but you must click on each individual theme to preview it. There are plugins and even the ?preview_theme= method available as well. But one feature I have not seen yet is the ability to scroll through the various themes present in the /wp-content/themes directory.
Why Is This Important?
For the individual blogger, this may not seem important, but to a developer it could be beneficial in several ways. You could focus on developing content without worrying about the presentation and allow the customer to scroll through the various themes available with their content at various stages of development. To make this smooth for the customer, you would want them to be relaxed and comfortable with a smooth presentation. What you do not want is a presentation full of stops and starts, trying to return to a particular theme later in your presentation by scrolling through pages, etc.
Companies may wish to use this feature to help rotate their themes seasonally. For example, they may wish to “go pink” in October in support of breast cancer research or refresh their corporate image annually. The ability to compare and contrast themes could help them determine how best to solidify their corporate identity. E-commerce sites could select different themes as different landing sites if serving different communities of interest.
This could also help theme developers gain exposure and sales by creating a new marketplace (see requirement 5 below).
Suggested Requirements
The following list of requirements are a starting point for discussion on what a new plugin could do to solve the problem of comparing the presentation of content between multiple themes:
- The plugin needs to provide the ability to scroll through all themes available in the /wp-content/themes directory of the current WordPress installation presenting the currently selected content in the currently selected theme.
- The presentation will default to the home page the first time the user opens the plugin but follow the currently selected content after the user navigates within the theme (i.e. open to the same page when the user navigates to a new theme).
- Next and Previous buttons would list the themes to which the user would be taken if they selected that option.
- The plugin needs to allow the user to compare themes side-by-side with the ability to scroll either side.
- Next and Previous buttons would list the themes to which the user would be taken if they selected that option on that side of the comparison window (i.e. independent Next/Previous buttons for both sides).
- A drop down list of available themes would allow the user to jump to a selected theme from either side (i.e. a drop down list on both sides of the compare window).
- The plugin needs to present a page of thumbnails with the currently selected content in a thumbnail of each theme.
- The plugin needs to allow the user to choose a theme from the thumbnails which will take the user to the scrolling themes in requirement 1 above.
- The plugin needs to allow the user to choose two themes from the thumbnails which will take them to the compare window in requirement 2 above.
- The plugin needs to allow the user to interact with the content (i.e. use the themes actions such as hyperlinks to drill down).
- The plugin needs to remember where it is in the content when it moves from one theme to the next.
- The plugin needs to allow the user to choose to navigate simultaneously in both themes when comparing side-by-side or navigate the themes independently of each other.
- The plugin needs to allow the user to choose to preview the content in a theme hosted by a third-party (e.g. a theme developer).
- This requirement assumes that theme developers would be interested in providing an API to their theme (e.g. a publicly accessible url to either this plugin or a companion plugin operating on their site).
- This requirement assumes that the plugin at the theme developers site could accept an encrypted database name, user name and password from this plugin and connect back to the content for presentation.
- This requirement assumes that the site hosting the plugin has a read-only user name and password for use by third-party hosted themes and that the port for their database will accept a connection from any host using that user name and password.
- The plugin will provide the ability to generate encrypted user names and passwords for use in securing connections between the host and the third-party theme developer.
- The plugin will provide the ability to update the database to allow the connection from any host using the generated and encrypted user name and password.
At The End Of The Day…
The above list of requirements is non-trivial, but I believe a lot of people could benefit from the features of such a plugin. If anyone decides to take on the challenge of creating a plugin that will accomplish the above, I am available for testing!