您的问题特别询问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() ?>);