【问题标题】:How do I add conditional browser classes in Wordpress?如何在 Wordpress 中添加条件浏览器类?
【发布时间】:2012-10-21 00:12:16
【问题描述】:

我注意到 Wordpress 网站在 <html> 标记中包含与浏览器检测相关的类(如果我使用 Firefox,html 标记将包含 .firefox 类,甚至是检测到版本的 .firefox16 类,等等) .例如,http://achristmasstorythemusical.com。 这是像body_class() 这样的默认Wordpress 功能还是我必须创建一个?我该怎么做?

【问题讨论】:

  • 可能是Thematic主题框架;我想就是这样。
  • 你是对的。我注意到 Thematic 提供了这个功能。它们的功能在一个名为 dynamic-classes.php 的文件中,不幸的是,将它们的功能添加到自定义主题的方法很复杂。

标签: php wordpress browser cross-browser


【解决方案1】:

不幸的是,我没有发现默认的 Wordpress 浏览器检测类和功能。 There are plugins that offer browser detection。但是,我通过查看代码 sn-p here 找到了一个简单的答案。我只是修改了代码以返回一些基本的浏览器并将其添加到我的functions.php文件中。

//return a conditional browser string
function browser_detect(){
    $iphone = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
    $firefox = stripos($_SERVER['HTTP_USER_AGENT'],"Firefox");
    $safari = stripos($_SERVER['HTTP_USER_AGENT'],"Safari");
    $ie = stripos($_SERVER['HTTP_USER_AGENT'],"MSIE");
    $opera = stripos($_SERVER['HTTP_USER_AGENT'],"Opera");
    $chrome = stripos($_SERVER['HTTP_USER_AGENT'],"Chrome");
    //detecting device 
    if ($iphone == true){
                echo "iphone";
    }
    elseif($firefox == true){
                echo "firefox";
    }
    elseif($ie == true){
                echo "explorer";
    }
    elseif($chrome == true){
                echo "chrome";
    }
    elseif($safari == true){
                echo "safari";
    }
    elseif($opera == true){
                echo "opera";
    }
    else{
        echo "unknown";
    }
};

然后,我将该函数添加到我的 html 标记中。

<html class="<?php browser_detect(); ?>">

这将返回我作为类使用的浏览器的名称。就我的直接目的而言,这就足够了。希望这个答案对您有用。

【讨论】:

    【解决方案2】:

    可能是Modernizr。如果包含它,它会根据浏览器的功能等注入这些类。

    【讨论】:

    • 我不知道 Modernizr 在标记中添加了类。无论如何,我提供的示例网站甚至没有安装 Modernizr。
    • 看起来它正在使用某种 php 来做到这一点。但是,该网站是一个非常糟糕的例子。看看所有的 JS 错误!
    • 抱歉,我看不出 JavaScript 错误与问题有什么关系。
    【解决方案3】:

    当您检查加载的脚本时,它看起来像一个 Typekit 插件。

    【讨论】:

    • 您能提供一个指向具有该功能的插件的链接吗?它可能会有所帮助。
    猜你喜欢
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2021-09-13
    • 2013-06-14
    • 2020-02-17
    • 1970-01-01
    相关资源
    最近更新 更多