2015-10-23 7 views
0

Я нахожу различные ответы, которые используют такие вещи, как javascript, для создания изображений Retina на всем сайте, но это не то, что я здесь. Вот немного фона:PHP Условно для обслуживания различного изображения, если Retina Display

Я создал тему WordPress и добавил загрузку изображений как для логотипа обычного размера, так и для дисплеев Retina (я сделал то же самое для значка) ,

Но я все еще изучаю PHP, и у меня есть время, пытаясь понять, как написать условный оператор, который будет обслуживать изображение X для дисплеев не Retina, изображение Y для дисплеев Retina (@ X2) или X изображение, если ни один не был загружен для Y.

Если это вообще полезно, я использую плагин OptionTree для создания различных параметров в моей теме, а идентификаторы для моих двух изображений - «логотип-регулярный» и «логотип», логотип-сетчатка».

Это то, что я имею в своем заголовке прямо сейчас для логотипа. Очевидно, что он загружает только обычный логотип:

if (! function_exists('ot_get_pixie_option')) { 
/* get the logo */ 
$logo = ot_get_option('logo-regular', array()); 

if (! empty($logo)) { 
echo '<a href="' . get_home_url() . '"><img src="' . $logo . '" alt="' . get_bloginfo('name') . '" /></a>'; 
} 
}; 
+0

PHP - это серверная информация, информация о том, является ли экран * сетчаткой * или нет на стороне клиента. Без использования JavaScript или CSS вы не можете знать, имеет ли клиент, посещающий ваш сайт, экран * сетчатки * или не только с помощью PHP. Лучшее, что вы можете сделать, это проверить агент пользователя и сделать предположения, что некоторые пользовательские агенты * должны иметь * сетчатые экраны *. Однако это не очень надежный способ сделать это. Нормой в этом случае является использование мультимедийных запросов CSS и фоновых изображений. – Novocaine

ответ

1

Я решил это, используя вместо него изображения SVG. Таким образом, они имеют самое высокое разрешение для всех браузеров (по крайней мере, это моя нынешняя теория).