我将测试用户代理以加载移动模板而不是桌面主题。
有很多移动检测脚本。
确实如此wp_is_mobile()
功能正常吗mobiledetect.net?
我将测试用户代理以加载移动模板而不是桌面主题。
有很多移动检测脚本。
确实如此wp_is_mobile()
功能正常吗mobiledetect.net?
是的,效果很好。这是一个非常简单的功能,但从未找到一个不被它识别的移动设备。它认可了90%以上的移动设备。与mobiledetect的主要区别。net与手机和平板电脑没有什么不同。
看见the code
是的wp_is_mobile()
工作正常,但在使用主动缓存系统(如fastcgi、代理缓存等)跳过php执行时,可能会遇到问题。
如果是这样的话,我会推荐一些客户端(javascript)检测方法,它可以同时为移动浏览器和桌面浏览器加载。
使用该函数是一个糟糕的想法。设备识别应始终在客户端进行,而用户代理可能是识别设备是否支持功能X或具有形状因子Y的最差方法。
当网站还很年轻时,你就开始使用它,然后你的网站发展壮大,你决定缓存你的HTML,然后所有的设备检测代码都停止工作。。。。。最好不要一开始就放弃那个盟友。
您的问题特别询问wp_is_mobile() 有效;而不是如何评估设备检测。该功能正常工作。因此,是的,它是有效的。例如,当它可能优于客户端检测时,甚至Mozilla也认为这是个坏主意。
值得重复:使用用户代理嗅探很少是一个好主意。你几乎总能找到一种更好、更广泛、更具竞争力的方法来解决你的问题!mozilla
移动检测插件更好吗?有充分的理由不选择通过插件而不是wp\\u is\\u mobile()进行移动检测。首先,Wordpress已经在做很多tedius任务了,所以也把这个交给它吧!
加载a之前DataTable 我正在使用mobile-detect.js 作为我对设备移动时的检测和样式要求的一部分:
// if phone or tablet then set responsive mode
var md = new MobileDetect(window.navigator.userAgent);
if (md.phone() || md.tablet()) {
scrollObj = false;
$(\'#sometable\').removeAttr(\'width\').addClass(\'dt-responsive\');
responsiveObj = {
details: {
type: "inline",
display: $.fn.dataTable.Responsive.display.childRowImmediate
}
};
}
这很好,但每次会话函数调用都需要一个插件一次性使用,成本很低。此外,它的创建者警告不要使用他的插件。"you should not use this library in your HTML page and it’s less reliable when used server-side"
因此,与加载一次性插件不同,在不进行嗅探的情况下处理设备检测的更有效方法是使用wp\\u is\\u mobile()。
// This is in a JavaScript block in a PHP page
isMobile = Boolean(<?php echo wp_is_mobile() ?>);
我的网站的移动版本位于mywebsite.com/mobile 还有一个登录表单wp-login.php. 目前,当用户从主页登录时,如果他们不是管理员,则会重定向到他们的Buddypress配置文件如果他们从主页登录,我希望保持此状态,但是,如果他们从mywebsite.com/mobile, 我希望他们被重定向到mywebsite.com/mobile/dash.//REDIRECT USERS TO ACTIVITY PAGE WHEN THEY LOGIN add_filter( \"lo