问题描述

我已经开发出灵敏的主题,我想提交 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。