Определяем пользовательскую среду в Вордпресс

Опубликовано 8 лет назад

В Вордпресс имеются собственные механизмы, которые могут очень выручить разработчика в решении повседневных задач, связанных с кроссбраузерностью и оптимизацией сайта под мобильные устройства.

Прогресс все больше и больше накреняет веб-дизайн в сторону мобильных устройств. В некоторых сегментах мобильный трафик уже имеет серьезный перевес.

Сейчас уже сложно представить сайт без мобильной оптимизации. На пороге 2016 года я хотел бы в очередной раз предостеречь всех, кто только готовится к запуску собственного интернет-проекта. Заказывайте сайты только с мобильной оптимизацией: с отдельной мобильной версией или адаптивным дизайном. Да, получится немного дороже, но потеря мобильного трафика может принести гораздо больше убытков. Если ваш сайт планируется на шаблоне, используйте качественные премиум-шаблоны WordPress. Потому что, среди бесплатных встречается очень мало достойных вариантов. Это либо стандартные темы, либо топовые темы официального репозитория WordPress. И те, и другие, благодаря своей популярности, мягко говоря, не отличаются уникальностью. На варезных темах я останавливаться не буду.

В WordPress имеются собственные механизмы, которые могут очень выручить разработчика в решении повседневных задач, связанных с кроссбраузерностью и оптимизацией сайта под мобильные устройства. Например, для детектирования устройств не всегда достаточно лишь стандартных средств CSS. И JavaScript далеко не панацея. Иногда устройство или браузер нужно определить на уровне кода, и запретить, допустим, вывод какой-то части страницы. И не просто скрыть средствами CSS, а именно запретить исполнение кода, тем самым снизив вес страницы и потребление ресурсов. Бывают ситуации, когда нужно не просто запретить, а заменить вывод на мобильный, более лёгкий. Что в условиях высокой посещаемости даёт заметный выигрыш во всем. В таких ситуациях и приходят на помощь встроенные PHP-функции WordPress.

Примеры использования

Используя глобальные переменные WordPress, можно определить в каком браузере открыт сайт.

global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; 
if ( $is_lynx ) { 
	echo "Используется Lynx"; 
} elseif ( $is_gecko ) { 
	echo "Используется Firefox"; 
} elseif ( $is_safari ) { 
	echo "Используется Safari"; 
} elseif ( $is_chrome ) { 
	echo "Используется Chrome"; 
} elseif ( $is_opera ) { 
	echo "Используется Opera" 
} elseif ( $is_IE ) { 
	echo "Используется Internet Explorer"; 
} elseif ( $is_NS4 ) { 
	echo "Используется Netscape"; 
} elseif ( $is_iphone ) { 
	echo "Используется iPhone"; 
}

С помощью глобальной переменной wp_is_mobile() можно определить пользователь зашёл на сайт с мобильного устройства или нет.

if { wp_is_mobile() ) { 
	echo "Используется мобильное устройство"; 
} else { 
	echo "Мобильное устройство не используется"; 
}

Можно даже определить тип веб-сервера, на котором размещён сайт. Что бывает иногда весьма полезно разработчикам публичных тем и плагинов.

global $is_apache, $is_IIS; 
if ( $is_apache ) { 
	echo "Используется Apache"; 
} elseif ( $is_IIS ) { 
	echo "Используется IIS"; 
}

Заодно напомню как с помощью User Agent определить операционную систему пользователя.

$user_agent = getenv("HTTP_USER_AGENT"); 
if (strpos($user_agent, "Win") !== FALSE) echo "Используется Windows"; 
elseif (strpos($user_agent, "Mac") !== FALSE) echo "Используется Mac OS"; 
elseif (strpos($user_agent, "Linux") !== FALSE) echo "Используется Linux"; 

Конечно, это не исчерпывающий список существующих ОС, при необходимости его можно дополнить.

Иван Данилин
Автор Иван Данилин

Фулстек веб‑разработчик, специализируюсь на платформе WordPress

Подробнее
Добавить комментарий