Почему не срабатывает проверка

Рейтинг: 1Ответов: 1Опубликовано: 26.02.2015

По многочисленным рекомендациям решил использовать для определения телефонов/планшетов mobile detect.

Подключил через functions.php

require_once 'wp-content/themes/minecraft/mobile_detect.php';
$detect = new Mobile_Detect;

Затем использую в sidebar.php

<?php if(!$detect->isMobile() && !$detect->isTablet()){ ?>
<div class="banner">
    ...
</div>
<?php } ?>

Все работает. Однако стоит сделать проверку где-нибудь еще header, single и т.д. - она не срабатывает и код после проверки полностью обрезается.

С чем может быть это связано?

Обновление №1

Кстати, если сделать проверку больше, чем один раз в одном файле (например, sidebar.php) - все работает. Может, я как-то не так подключаю?

Обновление №2

Notice: Undefined variable: detect in /home/d/dfb38061/сайт.ru/public_html/wp-content/themes/minecraft/header.php on line 13 Fatal error: Call to a member function isMobile() on a non-object in /home/d/dfb38061/сайт.ru/public_html/wp-content/themes/minecraft/header.php on line 13

Ответы

▲ 1

Судя по ошибке undefined вам нужно определить переменную класса Mobile_Detect: $detect = new Mobile_Detect; Если вы ее уже где-то объявляли и все равно эта ошибка выскакивает - у вас проблема с областью видимости переменной. Объявите ее глобально.