Dynamically change Wordpress Theme

2019-03-06 20:57发布

问题:

How can I set an a tag to dynamically change the theme currently being displayed by wordpress?

I understand the switch function as described in a similar question here: Display page content using multiple templates - WordPress , but I don't know how to implement the change. Should the switch be added to index.php inside a theme, or inside the theme folder? Does my link point to the index.php file?

I would like to do this without a plugin if possible.

An example of a site which does this already: www.envye.com/wordpress/

Thank you!

回答1:

Use this in function.php

function fxn_change_theme($theme) {

  if( $condition == true )
    $theme = 'twentytwelve';
  else
    $theme = 'twentyteleven';

  return $theme;
}

add_filter('template', 'fxn_change_theme');
add_filter('option_template', 'fxn_change_theme');
add_filter('option_stylesheet', 'fxn_change_theme');


回答2:

You can use the switch_theme() method. https://codex.wordpress.org/Function_Reference/switch_theme