WordPress Mobile Определить как функция body_class

Я использовал чудесный мобильные обнаружения в моем заголовке темы WordPress в течение некоторого времени. Это выходит за рамки медиа-запросов CSS и обеспечивает большую гибкость благодаря гибкой сборке.

Однако сейчас я хочу добавить классы в тег body в зависимости от устройства. Итак, я написал функцию, которая теоретически должна работать. Однако это не так, я получаю класс рабочего стола независимо от устройства.

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' );

Любая помощь приветствуется. Большие неловкие объятия из Корнуолла, Великобритания.

2

Решение

Пожалуйста, попробуйте следующий код:

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' );

Надеюсь, что это работает как ожидалось.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]