Verwenden Sie ein zufälliges Thema

Ich denke über zufälliges Thema von 2-3 vorgewählten Themen nach, die für neuen Benutzer gezeigt werden und in Plätzchen oder in IP gespeichert werden, um anderes Thema für ihn nicht wieder zu zeigen. Zeigen Sie einfach zufällige Themen für neue Nutzer, damit ich sehen konnte, dass das Hexenthema besser funktioniert.

Ist es möglich, diese Art von Plugin zu erstellen oder eine function für ein WordPress zu erstellen? Ich habe dieses Plugin gefunden http://wordpress.org/extend/plugins/wordpress-ab-theme-split-tests/ aber es scheint nicht richtig zu funktionieren und ich brauche eine viel einfachere Lösung mit der Möglichkeit, einige Themen auszuwählen, aus denen ich spin. Bitte helfen Sie Jungs.

Solutions Collecting From Web of "Verwenden Sie ein zufälliges Thema"

Ich werde das vorwegnehmen, indem ich sage, dass ich nicht denke, dass es die besten Ideen sind, sondern um die Frage zu beantworten …

Die allgemeine Idee besteht darin, template , option_template und option_stylesheet in einem Plugin zu filtern und den gewünschten Template-Slug zurückzugeben. Der Rest des Codes ist nur setzen und lesen Sie den Cookie.

 < ?php /** * Plugin Name: WPD Theme Switcher */ class WPD_Theme_Switcher { private $themes = array( 'twentythirteen', 'twentyfourteen', 'twentyfifteen' ); private $current_theme = ''; private $cookie = 'wpd_theme_switcher_cookie'; function __construct() { if( empty( $this->current_theme ) && !isset( $_COOKIE[ $this->cookie ] ) ) { $this->current_theme = $this->themes[ array_rand( $this->themes ) ]; setcookie( $this->cookie, $this->current_theme, time() + (10 * 365 * 24 * 60 * 60) ); } else { $this->current_theme = $_COOKIE[ $this->cookie ]; } // don't switch themes for admin requests if( ! is_admin() ){ add_filter( 'template', array( $this, 'theme_switcher' ) ); add_filter( 'option_template', array( $this, 'theme_switcher' ) ); add_filter( 'option_stylesheet', array( $this, 'theme_switcher' ) ); } } function theme_switcher(){ return $this->current_theme; } } new WPD_Theme_Switcher();