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

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

27 декабря 2015 174

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

ThemeForest: Лучшие темы интернет-магазинов для WordPress
ThemeForest: Лучшие темы интернет-магазинов для WordPress

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

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

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

<?php
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() можно определить пользователь зашёл на сайт с мобильного устройства или нет.

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

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

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

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

<?php
$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.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее