Php WordPress Mobile Detect作为body_类函数
我已经在WordPress主题标题中使用了一段时间了。它超越了CSS媒体查询,并允许更灵活的响应构建 但是,我现在想根据设备向body标记添加类。所以我写了一个函数,从理论上讲,它应该可以工作。然而事实并非如此,我得到的是一个桌面类,与设备无关Php WordPress Mobile Detect作为body_类函数,php,wordpress,function,wordpress-theming,responsive,Php,Wordpress,Function,Wordpress Theming,Responsive,我已经在WordPress主题标题中使用了一段时间了。它超越了CSS媒体查询,并允许更灵活的响应构建 但是,我现在想根据设备向body标记添加类。所以我写了一个函数,从理论上讲,它应该可以工作。然而事实并非如此,我得到的是一个桌面类,与设备无关 require_once( get_template_directory() . '/mobile-detect/Mobile_Detect.php' ); $detect = new Mobile_Detect; $mobile = $detect-
require_once( get_template_directory() . '/mobile-detect/Mobile_Detect.php'
);
$detect = new Mobile_Detect;
$mobile = $detect->isMobile();
$tablet = $detect->isTablet();
function device_body_class ( $classes ) {
if ( $mobile ) {
$classes[] = 'mobile';
if ( $tablet ) {
$classes[] = 'tablet';
} else {
$classes[] = 'phone';
}
} else {
$classes[] = 'desktop';
}
return $classes;
}
add_filter( 'body_class', 'device_body_class' );
任何帮助都将不胜感激。来自英国康沃尔郡的尴尬拥抱 请尝试以下代码:
function device_body_class ( $classes )
{
$detect = new Mobile_Detect;
$mobile = $detect->isMobile();
$tablet = $detect->isTablet();
if ( $mobile ) {
$classes[] = 'mobile';
if ( $tablet ) {
$classes[] = 'tablet';
} else {
$classes[] = 'phone';
}
} else {
$classes[] = 'desktop';
}
return $classes;
}
add_filter( 'body_class', 'device_body_class' );
希望它能像预期的那样工作。我刚刚测试了它,它完全按照预期工作。非常感谢你。因此,
$mobile
和$tablet
变量需要在函数中,回想起来,这是非常有意义的。为什么不需要require\u once
呢?很好,它对您很有用,“require\u once”实际上包括编写类“Mobile\u Detect”的文件。