如何在 WordPress Body Class 中添加用戶瀏覽器和操作系統分類

WPressize Me

06/15/2023

如何在 WordPress Body Class 中添加用戶瀏覽器和操作系統分類

更新日期:2014年3月11日 作者:編輯團隊 | 審核者:Syed Balkhi

當開發 WordPress 主題時,有時候您可能需要用戶的瀏覽器和操作系統資訊,以便透過 CSS 或 jQuery 修改設計的某些內容。WordPress 能夠為您做到這一點。在本文中,我們將向您展示如何在 WordPress body class 中添加用戶的瀏覽器和操作系統分類。

WordPress 預設會為網站的不同部分生成 CSS 類別。它還提供過濾器,因此主題和插件開發者可以掛鉤他們自己的類別。您將使用 body_class 過濾器來添加瀏覽器和操作系統資訊作為 CSS 類別。

第一步:在 functions.php 文件中添加代碼

第一件事,您需要在主題的 functions.php 文件中添加以下代碼。

function mv_browser_body_class($classes) {
    global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
    if($is_lynx) $classes[] = 'lynx';
    elseif($is_gecko) $classes[] = 'gecko';
    elseif($is_opera) $classes[] = 'opera';
    elseif($is_NS4) $classes[] = 'ns4';
    elseif($is_safari) $classes[] = 'safari';
    elseif($is_chrome) $classes[] = 'chrome';
    elseif($is_IE) {
        $classes[] = 'ie';
        if(preg_match('/MSIE ([0-9]+)([a-zA-Z0-9.]+)/', $_SERVER['HTTP_USER_AGENT'], $browser_version))
        $classes[] = 'ie'.$browser_version[1];
    } else $classes[] = 'unknown';
    if($is_iphone) $classes[] = 'iphone';
    if ( stristr( $_SERVER['HTTP_USER_AGENT'],"mac") ) {
         $classes[] = 'osx';
       } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"linux") ) {
         $classes[] = 'linux';
       } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"windows") ) {
         $classes[] = 'windows';
       }
    return $classes;
}
add_filter('body_class','mv_browser_body_class');

這段腳本的第一部分檢測用戶的瀏覽器並將其添加到 $classes 中。第二部分檢測用戶的操作系統並將其添加到 $classes 中。最後一行使用 WordPress 的 body_class 過濾器來添加類別。

第二步:在 header.php 文件中添加 body class

現在,您需要在主題的 header.php 文件中的 HTML 標籤中添加 body class。將主題文件中的 body 行替換為以下代碼:

<body >

注意,如果您正在使用像 underscores 這樣的啟動主題或像 Genesis 這樣的已編碼良好的主題框架,那麼您的主題將已經在 body 標籤中包含 body class 函數。實施代碼後,您將能夠在 HTML 源碼中的 body 標籤中看到瀏覽器和操作系統類別。您還會注意到,WordPress 還會添加其他類別到 body 標籤。

結論:自定義不同瀏覽器和操作系統的樣式

現在,您可以為不同的瀏覽器和操作系統樣式化這些類別,或將其作為 jQuery 中的選擇器使用。我們希望這篇文章能幫助您在 WordPress 中檢測用戶的瀏覽器和操作系統資訊。

如果您剛開始進行 WordPress 主題開發,那麼您可能還希望查看我們的 Sass 教程介紹WordPress Body Class 101,這些內容適合新手主題設計師。請在下方留言告訴我們您的反饋或問題。

來源:Justin Sternberg



Related Posts

  • 2024-07-20
  • WordPress 主题

您是否想在 WordPress 中為不同頁面使用多個佈景主題?可以自訂網頁的外觀和布局,為文章、頁面和部分區域建立模板。但是如果您想為網站的某些部分或頁面使用完全不同的佈景主題呢?本文將指導您如何在 WordPress 中為頁面使用多個佈景主題。

閱讀更多
  • 2024-07-19
  • WordPress 主题

您是否想在 WordPress 網站上添加回頂效果?這種效果在頁面較長時非常有用,可以讓用戶輕鬆返回頁面頂部,提升網站的用戶體驗。本文將教您如何使用 jQuery 和插件在 WordPress 中添加平滑回頂效果。

閱讀更多
  • 2024-07-13
  • WordPress 主题

您是否想在 WordPress 中創建一個自定義頁面?自定義頁面允許您使用與網站其餘部分不同的佈局。許多 WordPress 網站使用自定義頁面佈局來建立銷售頁面、登陸頁面、網路研討會頁面等。在這篇文章中,我們將向您展示如何輕鬆地在 WordPress 中創建自定義頁面。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>