Ваш путь: Главная »  » текущая страница


возможно заказать разработку или сопровождение, услуги вашего сайта/блога

 
обновлено: 2023-09-21   1 комментарий
Запросто с WordPress создание и продвижение сайтов ATs media

Функция wp_is_mobile() – понятности ради – условие

Функция wp_is_mobile() – обзовем ее по праву да и понятности ради – условие: условный тег (условные теги WP и Woocommerce)

Проверит условие – как просматривается сайт: с мобильного устройства или десктоп версия? Условный тег.

 

На сервере мобильные устройства проверяются есть ли в переменной $_SERVER[‘HTTP_USER_AGENT’] указания: Android, IOS – Mobile, Opera Mini, Opera Mob, Android, Kindle, Silk, BlackBerryi (!! недостаточно широкий спектр устройств/функционала для определения !! ) и, соответственно возвратит или “истину” или “ложь” -true (мобильник) – false (десктоп):

 


 

 

wp_is_mobile()

 

 

НЕ ЯВЛЯЕТСЯ заменой медиа-запросов CSS.

 

Широко применяется в разработках адаптивного дизайна шаблонов для WP, однако, прежде чем работать с данным условием, следует изучить на практике отработку… к тому же существует как минимум три вариации адаптивного дизайна: Это также означает, что правильная тема может иметь как минимум три различные спецификации адаптивного дизайна: Mobile и AMP, Desktop.

 

 

многие новички-разработчики пытаются использовать данную функции для обеспечения скорости загрузки страницы, однако:

 

Главная проблема состоит в том, что это условие нужно использовать крайне осторожно, потому что на многих сайтах используется КЭШ: кэширования страниц ДОЛЖНО иметь различные модульные сегменты для мобильных и десктопных устройств, если ваш шаблон отрабатывает ПО РАЗНОМУ для мобильных и десктопных устройств.

 

 

Учитывайте отработку функцию кэширования в вашем шаблоне/сайте в целом!..

 

 

Повторяюсь: условие wp_is_mobile() определяет устройство в данных переменной HTTP_USER_AGENT (ЭТО НЕ СВЯЗАНО с определением размера экрана !!!! )

 

 

хуки из функции wp_is_mobile

 

возвращает:

 

true | false в зависимости, скажем так, от средства просмотра сайта.

 

использование

 

Функция wp_is_mobile()

 

 

if ( wp_is_mobile() ){ инфа/код }

 

 

пример:

 

//Проверка с мобильник или компьютер
if ( wp_is_mobile() ) {
// информация для мобильных устройств.
}

 

или:

 

<?php if ( wp_is_mobile() ) : ?>
//Display and echo mobile specific stuff here = Отображать информацию для мобильных устройств
<?php else : ?>
//Display and echo desktop stuff here = Отображать содержимое десктоп
<?php endif; ?>

 

 

В ядре WordPress функция располагается по пути: wp-includes/vars.php

 

function wp_is_mobile() {
if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
$is_mobile = false;
} elseif ( str_contains( $_SERVER['HTTP_USER_AGENT'], 'Mobile' ) // Many mobile devices (all iPhone, iPad, etc.)
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'Android' )
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'Silk/' )
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'Kindle' )
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'BlackBerry' )
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'Opera Mini' )
|| str_contains( $_SERVER['HTTP_USER_AGENT'], 'Opera Mobi' ) ) {
$is_mobile = true;
} else {
$is_mobile = false;
}

/**
* Filters whether the request should be treated as coming from a mobile device or not.
*
* @since 4.9.0
*
* @param bool $is_mobile Whether the request is from a mobile device or not.
*/
return apply_filters( 'wp_is_mobile', $is_mobile );

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание
другие функции:

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Да… недоработанная функция. Или просто не для целей ускорения загрузки)

    Ответить - Сергей