Description
Conditional Themes is an API to switch the themes on certain conditions.
Usage
Write an another plugin file and use the Conditional Themes API as the example below:
add_action('plugins_loaded', 'my_conditional_themes_setup', 100);
function my_conditional_themes_setup()
{
// Switch to Twenty Eleven theme if the visitor use Internet Explorer.
Conditional_Themes_Manager::register('twentyeleven', function() {
global $is_IE;
return (bool) $is_IE;
});
// Switch to Twenty Thirteen theme if the user has administrator role.
Conditional_Themes_Manager::register('twentythirteen', function() {
return current_user_can('administrator');
});
// Switch to a custom theme if the visitor use a mobile device.
Conditional_Themes_Manager::register('mobile', 'wp_is_mobile');
}
Another example, With enabling persistent mode.
add_action('plugins_loaded', 'my_conditional_themes_setup', 100);
function my_conditional_themes_setup()
{
// Enable the switcher persistent mode.
Conditional_Themes_Manager::set_option('persistent', true);
// Switch to Twenty Sixteen theme when we being on 2016.
Conditional_Themes_Manager::register('twentysixteen', function() {
return (date('Y') == 2016);
});
// Switch to Twenty Fifteen theme when the site reaches 500 post.
Conditional_Themes_Manager::register('twentyfifteen', function() {
return ((int) wp_count_posts() > 500);
});
}
Note: You can use Code Snippets plugin to add the code snippets to your site.
Contributing
Developers can contribute to the source code on the Github Repository.
Installation
- Upload and install the plugin
- Use the plugin API to powerful your project.
Reviews
ডেভেলপার এবং কন্ট্রিবিউটর
“Conditional Themes” is open source software. The following people have contributed to this plugin.
কন্ট্রিবিউটরTranslate “Conditional Themes” into your language.
ডেভেলপমেন্ট এ আগ্রহী?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.6
- Better code style formatting.
0.4
- Fix updating switched theme sidebars widgets bug, props @Offereins.
- Better classes and code organization.
0.4
- Fix the switched theme sidebars widgets bug, props @joyously.
- Better functions names and code organization.
0.3
- Add a new feature allow to switch the themes persistently.
- Improve the performance by excluding the original theme from being switched.
0.2
- Cleaner code and minor fixes.
0.1
- The Initial version.