Use random theme

时间:2015-01-20 作者:Simon

我正在考虑从2-3个选定主题中随机选择主题,为新用户显示并保存到Cookie或ip,以便不再为他显示其他主题。只需为新用户显示随机主题,这样我就能看到witch主题的性能更好。

有没有可能为wordpress创建这种插件或函数?我找到了那个插件http://wordpress.org/extend/plugins/wordpress-ab-theme-split-tests/ 但它似乎不能正常工作,我需要更简单的解决方案,可以选择几个主题来旋转。请帮助大家。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

首先,我要说,我认为这不是最好的想法,但为了回答这个问题。。。

总体思路是过滤template, option_template, 和option_stylesheet 并返回所需的模板段塞。其余的代码只是设置和读取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();

结束

相关推荐

Responsive Admin Themes

我在看这个管理主题的示例(http://themepixels.com/main/themes/demo/webpage/shamcey/dashboard.html). 至于标签为“Navigation”的左侧管理栏,有没有一种方法可以在不使用插件的情况下实现这种类型的左侧仪表板管理菜单?我想用css、js或Jquery来实现这一点,任何处理编码的东西都可以。