首页 文章

基于URL切换wordpress主题

提问于
浏览
0

我有一个wordpress网站,里面有几个主题 . 现在我想根据他们输入的URL切换访问者的主题 . 例如 :

我的WP网站是http://www.myblog.com/wp/

但如果用户输入:

http://www.myblog.com/wp?theme=twentyten - >使用二十主题

如果用户输入:

http://www.myblog.com/wp?theme=mycustomtheme - >使用mycustometheme

那么有没有可用的插件?我一直在寻找天,但没有一个接缝为我工作 .

任何建议都非常感谢!

谢谢

4 回答

  • 0

    这可能会有所帮助:http://codex.wordpress.org/Theme_Switching

    该网址中注明了2个插件:http://wordpress.org/extend/plugins/theme-preview/主题预览是您想要的 .

    http://wordpress.org/extend/plugins/theme-switcher/主题切换器也可以这样做并创建侧边栏小部件,以便用户可以更改模板 .

  • 0

    我没有这样做,并且寻找一分钟,我没有看到一个插件为你做到这一点 . 我认为你最好的办法是制作一个可以根据基本URL改变主题变量的插件 . 它就像你可以制作的插件一样简单,所以如果你有任何编程能力,那么切断你的牙齿将会很好 .

  • 0

    我发现这个good tutorial关于基本主题在URL上进行切换 .

    首先,您必须捕获URL中的参数:

    function sjc_add_query_vars($vars) 
    {
        return array('template') + $vars;
    }
    add_filter('query_vars', 'sjc_add_query_vars');
    

    然后你提供模板:

    function sjc_template($template) 
    {
        global $wp;
        if ($wp->query_vars['template']=='basic')
        {
            return dirname( __FILE__ ) . '/single-basic.php';
        }
        else 
        {
            return $template;
        }
    }
    add_filter('single_template', 'sjc_template');
    

    请注意,上面的代码检查是否 $wp->query_vars['template']=='basic' 而不是简单地返回URL中指定的模板,因为它可能是一个安全问题 .

  • 1

    对于仍然感兴趣的人,你有一个切换主题的WordPress功能

    switch_theme( $stylesheet )
    

    https://codex.wordpress.org/Function_Reference/switch_theme

    只要注意在合适的时间调用它,我会用mu-plugin写它来使用它 .

相关问题