switch a theme different per user role

There’s current_user_can( 'CAPABILITY' ); (see @Codex Users & Roles to find the appropriate cap for your targeted role), that you can use to determin what theme you want to display. You can also check for is_user_logged_in() if you just want to differentiate between non-logged in and logged in users. Then you have the switch_theme() function. Just wrap it up in a plugin and add a function that you hook into plugins_loaded or something similar (not sure when the user info is ready). Then switch depending on the role. Sidenote: You can’t do that from a themes functions.php file, as the first available hook is after_setup_theme.

Leave a Comment