创建仅限IE的站点(如仅限移动的站点)

时间:2011-05-20 作者:itsdaniel0

对于那些好奇的人,我正在改变主题,但这个主题依赖于CSS3和HTML5,在IE 8或更低版本中显示得非常丑陋。-尤其是导航。

我想做的是保留我的旧主题,并将其仅用于IE用户,我假设如果这可以用于移动站点,也可以用于IE。只需安装另一个WP并复制内容会更容易吗(最简单的方法是什么?)。或者是否有一种方法,例如移动方法,可以将用户重定向到该主题。

我的计划是,用现有的主题创建第二个安装,然后以某种方式从主站点获取内容,并添加重定向IE用户的IF代码。这是可能的,还是有更简单的方法?

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

也许你可以使用模板重定向?我不太清楚它是如何工作的,但它可能值得研究。

function my_check_is_ie() {
    global $is_winIE;
    if ( ! $is_winIE ) return;

    // load template for IE
    include(TEMPLATEPATH . \'/IE_template.php\');

    // or maybe?
    if( is_home() ) include(TEMPLATEPATH . \'/IE_home.php\');
    elseif( is_single() ) include(TEMPLATEPATH . \'/IE_single.php\');
    // etc.
}

add_action(\'template_redirect\', \'my_check_is_ie\');
Edit- 好吧,我想我已经弄明白了。我还没有在野外测试过这个,所以请确保它先起作用!你必须把它变成一个插件,因为一旦加载了主题,就太晚了,无法切换主题。。。

<?php
/*
Plugin Name: randomkljsaduiyerth
*/
global $is_winIE;
if($is_winIE){
    add_filter(\'template\', \'my_switch_themes\');
    add_filter(\'stylesheet\', \'my_switch_themes\');
}
function my_switch_themes(){
    // return the name of your IE theme
    return \'my-IE-theme-Name-Here\'; 
}
Edit2-

如果您想让人们通过以下链接进行切换,可以添加另一个GET变量检查:http://yourdomain.com/?IE_version

if( isset($_GET[\'IE_version\']) ):
    // add_filter here, or better yet if you\'re doing a number of checks,
    // set a flag if any check is true and add_filter last
endif;
您还可以使用cookies存储主题首选项

// check the cookie
if( isset($_COOKIE["my_domain_cookie"]) )

// set the cookie
setcookie("my_domain_cookie", "My Cookie Val", time()+60*60*24*30);

结束

相关推荐

Function to get content by ID

我试图通过ID获取帖子的纯文本内容。我对这个函数进行了如下修改,但目前它什么也不返回。我看不出有什么问题。function get_the_excerpt_id($post_id) { $find = get_posts($post_id); $excerpt = $find->post_content; $excerpt = strip_tags($excerpt); $output = substr($excerpt,