Php 如何在Wordpress中添加条件浏览器类?
我注意到Wordpress站点在Php 如何在Wordpress中添加条件浏览器类?,php,wordpress,browser,cross-browser,Php,Wordpress,Browser,Cross Browser,我注意到Wordpress站点在标记中有与浏览器检测相关的类(如果我使用Firefox,html标记将有一个.Firefox类,甚至是一个版本检测到的.firefox16类,等等)。例如。 这是一个默认的Wordpress函数,比如body\u class(),还是我必须创建一个?我该怎么做呢?可能是。如果你包括它注入那些依赖于浏览器功能的类,等等。当你检查加载的脚本时,看起来像是一个Typekit插件。不幸的是,我没有发现默认的Wordpress浏览器检测类或函数。然而,我通过查看代码片段找到
标记中有与浏览器检测相关的类(如果我使用Firefox,html标记将有一个.Firefox类,甚至是一个版本检测到的.firefox16类,等等)。例如。
这是一个默认的Wordpress函数,比如
body\u class()
,还是我必须创建一个?我该怎么做呢?可能是。如果你包括它注入那些依赖于浏览器功能的类,等等。当你检查加载的脚本时,看起来像是一个Typekit插件。不幸的是,我没有发现默认的Wordpress浏览器检测类或函数。然而,我通过查看代码片段找到了一个简单的答案。我只是修改了代码以返回一些基本浏览器,并将其添加到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(); ?>">
我不知道Modernizer在标记中添加了类。无论如何,我提供的示例站点甚至没有安装Modernizer。看起来它正在使用某种php来实现这一点。然而,那个网站是一个非常糟糕的例子。看看所有的JS错误!抱歉,但是我不明白JavaScript错误与这个问题有什么关系;我想就是这样,你说得对。我注意到Thematic提供了这个功能。它们的函数位于一个名为dynamic-classes.php的文件中,不幸的是,将它们的功能添加到自定义主题的方法很复杂。您能否引用指向具有该函数的插件的链接?这可能会有帮助。