問題描述

我已經開發出靈敏的主題,我想提交 wordpress.org 。在提交之前,我想在我的主題中使用 wp_is_mobile(),但根據 Function Reference/wp is mobile,這是一個壞主意,因為它說的是:

您應該意識到,這不會特別檢測到手機,因為平板電腦被認為是移動裝置。檢查外掛區域有幾個有用的選擇。它也不應該用於主題。

所以如果我使用它在我的主題 functions.php 這樣:

add_filter('body_class','mobile_theme_body_class');
function mobile_theme_body_class( $classes ){

    if ( wp_is_mobile() ){
        $classes[] = 'mobile';
    }
    else{
        $classes[] = 'desktop';
    }
    return $classes;
}

我的主題會被拒絕嗎?

Sub-question:

如果我在上面的程式碼中使用我的函式,並使用像 (WP Super Cache) 這樣的快取外掛,我的功能會被弄亂 (執行失敗或返回誤報)?

謝謝你的時間和答案…

最佳解決方案

在非常外行的術語 wp_is_mobile()不適合您的主題樣式。

它如何工作:它匹配使用者代理字串中的某些裝置的本機名稱。因此,如果有人操縱字串併傳送虛假資訊,則無法檢測到它是什麼裝置。並且它不返回任何裝置名稱它只返回 true 如果你不在桌面上其他 false

WordPress 如何使用它:WordPress 不要使用它來設計樣式或新增任何地方的 CSS 。 WordPress 使用它來新增或操縱應該只在移動裝置上的東西 (不管大小和名稱) 。新增觸控指令碼,在管理標頭檔案中新增視口,移動類,新增手機按鈕。

快取的效果:如果你使用快取外掛是沒用的。因為你的程式碼每次都不執行,所以你每次都得到相同的結果。

WordPress 主要使用它在 back-end,幾乎每個快取外掛不包括快取在 back-end 或說為 logged-in 使用者。所以工作正常

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。