基于URL切换wordpress主题

时间:2011-06-18 07:05:34

标签: wordpress

我有一个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 :(得分:1)

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分: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'是否只返回网址中指定的模板,因为这可能是一个安全问题。

答案 3 :(得分:0)

对于谁还有兴趣你有一个切换主题的WordPress功能

switch_theme( $stylesheet )

请参阅https://codex.wordpress.org/Function_Reference/switch_theme

请注意在合适的时间调用它,我会将其写入mu-plugin以供使用。