Wordpress& php用户代理无法正常工作

时间:2015-12-28 16:49:46

标签: php wordpress

我正在为我的网站主要css表格的每个网络浏览器进行一些小的具体更改。

这是我的用户代理代码:

    $user_agent     =   $_SERVER['HTTP_USER_AGENT'];

function getOS() { 

    global $user_agent;

    $os_platform    =   "css/common";

    $os_array       =   array(
            '/windows nt 10.0/i'     =>  'css/windows',
            '/windows nt 6.3/i'     =>  'css/windows',
            '/windows nt 6.2/i'     =>  'css/windows',
            '/windows nt 6.1/i'     =>  'css/windows',
            '/windows nt 6.0/i'     =>  'css/windows',
            '/windows nt 5.2/i'     =>  'css/windows',
            '/windows nt 5.1/i'     =>  'css/windows',
            '/windows xp/i'         =>  'css/windows',
            '/windows nt 5.0/i'     =>  'css/windows',
            '/macintosh|mac os x/i' =>  'css/osx',
            '/mac_powerpc/i'        =>  'css/osx'
                        );

    foreach ($os_array as $regex => $value) { 

        if (preg_match($regex, $user_agent)) {
            $os_platform    =   $value;
        }

    }   

    return $os_platform;

}

function getBrowser() {

    global $user_agent;

    $browser        =   "_changes.css";

    $browser_array  =   array(
            '/msie/i'       =>  '_ie.css',
            '/firefox/i'    =>  '_ff.css',
            '/safari/i'     =>  '_safari.css',
            '/chrome/i'     =>  '_chrome.css'
                        );

    foreach ($browser_array as $regex => $value) { 

        if (preg_match($regex, $user_agent)) {
            $browser    =   $value;
        }

    }

    return $browser;

}

$user_os        =   getOS();
$user_browser   =   getBrowser();

echo $user_os,$user_browser;

然而,一旦我将其插入wordpress标题,它默认为某个未知的用户代理,导致“css / common_changes.css”出现而不是“css / osx_safari.css”在我的情况下。

在wordpress中使用php用户代理代码是否存在已知问题?

1 个答案:

答案 0 :(得分:0)

关注@dboals评论提供的网站。