Вот все пишут про "мощный интерфейс" и "Вливание миллионов"но давайте начистоту. Мало кому нужно делать второй Амазон. 90% магазинов это мелкие лавочки с кол-вом товаров не более 1000. также огромное кол-во ИМ создается мелкими производителями: Девочками, шьющими платья и лепящими цветы из глины; небольшими столярными мастерскими, делающими мебель на заказ. Садоводами, продающими свои семена. У них нет ни квалификации, ни желания осваивать монструозные системы с многоэтажной вложенностью, тяжелыми фильтрами и еще много чем.
Им нужен каталог (часто одностраничный), корзина и простое оформление с оплатой картой. Хорошй бонус, это добавление статей и создание статических страниц.
Но главное, это должно оборачиваться в простую и стильную обертку, так как наши люди насмотрелись уже на ламоду и ситилинк и хотят, чтоб у них было не хуже.
и еще одно. Они не хотят заморачиваться с собственным хостингом. То-есть они хотят отдать 250 рублей в месяц и получить площадку, где уже будет всё настроено.Посмотрите. каим требованиям соответствует ваш проект и вы поймете, что он вряд ли когда нибудь станет массовым.
$posttags = (array) get_the_tags ($post->ID);
Это просто тоже самое, что:
$posttags = array(); $posttags = get_the_tags ($post->ID);
Поэтому только проверка.
Нет, это не то же самое. (array)|(object)|(int) это преобразование типа без инициализации переменной
то-есть если у вас изначально $x = 'any_data';то array(); даст пустой массив, а (array) $x даст array[0=>any_data];
Апд. такой подход уместен, только при условии, что нет обращения к элементам массива.
в вашем случае надо делать проверку
$posttags = get_the_tags ($post->ID);if (is_array( $posttags )){foreach...}
Я же привел пример данных в первом посте и писал что в основном будет работа с пдф
у пдф тоже есть своя сигнатура . 25h 50h 44h 46h смещение 0 байт
Проверяйте ее и будет вам счастье
если у вас всего два формата png и jpeg то самый простой и быстрый вариант проверить сигнатуры файлов.
первые три байта jpeg == FF D8 FFпервые четыре байта png == xx 50 4E 47 (xx как правило 89h)
более сложный путь, проверить mime с помощью ОС. (в принципе, там происходит примерно то же самое, только список вариантов куда больше )
потому, что мобилкам приходится масштабировать картинку вверх с интерполяцией, а способы интерполяции у всех разные.
и вообще увеличение всегда идет с потерей качества.
попробуйте проверять по событию 'slide.bs.carousel' (это событие инициализируется в момент начала скролла, а 'slid.bs.carousel' в конце ) только надо проверять не наличие класса active (jQuery('#dark').hasClass('active')) , а наличие класса .carousel-item-next или .carousel-item-prev то-есть будет что-то вроде if (jQuery('#dark').hasClass(' carousel-item-next ') || jQuery('#dark').hasClass(' carousel-item-prev ') ) { ...
UPD. еще одна штука ID - параметр уникальный. то-есть он может быть только один на страницу. Соответственно, если у вас, вдруг, будет несколько слайдов с черным фоном, то во-первых это будет совсем не валидно, а во вторых, в некоторых браузерах оно может вообще не работать. Поэтому лучше помечать темные страницы не id="dark", а class="dark"