Установка
MevvBlocks требует WordPress 6.0 или новее и PHP 8.1 или новее. Других зависимостей нет: ни внешней библиотеки, ни шрифта с чужого сервера, ни шага сборки.
- Загрузите и активируйте плагин.
- Откройте страницу в блочном редакторе и добавьте блок Контейнер.
- Поместите внутрь нужные блоки. Вы найдёте их в категории Оформление.
- Остальным управляйте из меню MevvBlocks в боковой панели админки.
- WooCommerce необязателен. Его установка добавляет два блока.
- MevvBridge необязателен. Если вы пришли с Elementor, именно MevvBlocks снова делает эти страницы редактируемыми.
- MevvLegal необязателен. Если он есть, блок карты передаёт свою вставку MevvLegal, чтобы карта не загружалась до согласия посетителя.
Pro — отдельный плагин, устанавливаемый рядом с бесплатным, и он объявляет бесплатный плагин обязательным требованием. Лицензионный ключ вводится на экране Lisans (лицензия). Без Pro MevvBlocks вообще не обращается к нашим серверам.
Стиль под каждый размер экрана — пробел, который это закрывает
Блоки ядра принимают одно значение внутреннего отступа, одну минимальную высоту, одно число колонок. Это значение действует на любом экране. Если секции нужно 100 пикселей отступа на десктопе и 40 на мобильном, ядро этого выразить не может — и именно этот единственный пробел является самой частой технической причиной, по которой люди ставят конструктор страниц.
MevvBlocks хранит три значения вместо одного — десктоп, планшет, мобильный. Пороги фиксированы:
- Десктоп
- Без медиазапроса — базовое значение.
- Tablet (планшет)
- Действует при 1024 пикселях и ниже.
- Мобильный
- Действует при 767 пикселях и ниже.
Те же два числа используются везде в плагине — порог «гамбургера» у меню, число колонок у сетки. Свободное поле для пикселей намеренно не предложено: выбравший 900 получил бы «гамбургер» на 900, тогда как его отступы по-прежнему менялись бы на 1024, а две системы брейкпоинтов означают макеты, которые сами себе противоречат.
Значения живут в собственных атрибутах блока, внутри post_content, — не в отдельной таблице и не в мета-полях записи. CSS формируется на сервере, в момент запроса, и выводится небольшим блоком стилей рядом с тем элементом, к которому относится.
Почему не сохранять CSS вместе со страницей? Потому что сохранённый HTML может нести только один брейкпоинт. Именно отрисовка по запросу вообще делает возможными три значения — и именно поэтому истёкшая лицензия никогда не может погасить опубликованную страницу: на этом пути нет ни одной проверки лицензии.
Предпросмотр в редакторе — что он показывает и чего ещё не может
Раньше на этой странице было написано, что предпросмотр — это приближение. Для макета это больше не так. Холст теперь запрашивает у сервера тот же CSS, который выведет страница, и применяет его к тем же классам-обёрткам, что и фронтенд.
Что сегодня точно на холсте: раскладка контейнера (направление, колонки, промежуток, выравнивание), внутренние и внешние отступы, фон, рамка, скругление, тень, минимальная высота, типографика, трансформации, маски и позиционирование — причём значения для планшета и мобильного применяются при изменении размера, потому что холст — это iframe и медиазапросы внутри него работают.
Почему CSS приходит с сервера, а не пересобирается на JavaScript: движок стилей один, а вторая копия разошлась бы с первой. В тот день, когда кто-то добавил бы настройку в один и забыл про другой, редактор был бы неверен, утверждая при этом, что он точен, — а это хуже прежнего честного приближения.
Что по-прежнему неточно: правила, нацеленные на разметку внутри блока. На холсте блок рисует собственные элементы управления редактированием, поэтому селектору, написанному под фронтенд-структуру, не с чем совпасть. Закрыть это значит сделать разметку редактирования идентичной опубликованной для каждого из ста одного блока; это настоящая работа, и она не сделана.
Измерено, а не заявлено: одна и та же секция была отрисована дважды под одной таблицей стилей — один раз так, как её выводит фронтенд, другой раз так, как её строит холст, — и на каждом элементе сравнивались шестнадцать свойств макета. Старый холст отличался по двадцати четырём из них. Теперь это ноль из шестидесяти четырёх. Инструмент, который это измеряет, лежит в исходном коде плагина (tools/onizleme-esitlik.js), и его сначала направили на старую разметку, чтобы доказать, что он не слепой.
Блоки
Сто один блок, или семьдесят восемь без WooCommerce. Все они есть в бесплатной версии; ни один блок не является эксклюзивом Pro. Они живут в категории Оформление вставщика блоков.
- Макет и текст
- Контейнер, заголовок, текст, кнопка, разделитель, отступ, якорь, изображение, шорткод, цитата, чек-лист, таблица, код
- Подача
- Отзыв, иконка, блок с иконкой, список с иконками, блок с изображением, иконки соцсетей, копирайт, участник команды, оценка звёздами, таблица цен, прайс-лист, значок, баннер, полоса логотипов, блок с числом, оповещение
- Взаимодействие
- Слайдер, слайды, вкладки, аккордеон, меню навигации, форма поиска, форма, форма входа, форма регистрации, оглавление, кнопки «поделиться», FAQ, лента событий, шаги
- Конверсия
- Переворачивающийся блок, призыв к действию, анимированный заголовок, «до и после», точка на изображении, выезжающая панель, кнопки связи, полоса объявлений, сравнение, полоса данных, прогресс чтения, время чтения, кнопка «наверх», текст по контуру
- Медиа
- Видео, аудио, галерея
- Данные и время
- Сетка содержимого, обратный отсчёт, счётчик, индикатор прогресса, карта
- Сайт и шаблоны темы
- Логотип сайта, название сайта, слоган сайта, заголовок страницы, «хлебные крошки», сведения о записи, блок автора, комментарии, предыдущая / следующая, заголовок архива, описание архива, карта сайта
- WooCommerce (20)
- Товары, категории товаров, галерея товара, название товара, цена товара, рейтинг товара, краткое описание, описание товара, мета товара, дополнительная информация, вкладки товара, добавить в корзину, статус наличия, похожие товары, допродажи, кросс-продажи, мини-корзина, корзина, оформление заказа, моя учётная запись, отслеживание заказа, сортировка товаров, количество результатов — добавляются только при активном WooCommerce
Эффекты движения — не блок: панель Движение добавляется к каждому блоку MevvBlocks.
Здесь ничто не скрывается, если JavaScript не загрузился. Вкладки показывают все панели, аккордеон — это нативный элемент details, слайдер прокручивается, а стрелки выводятся скрытыми, пока скрипт не сможет ими управлять: показать кнопку, которая ничего не делает, значит показать сломанный интерфейс. Скрытое содержимое — это недоступное содержимое.
Сетка содержимого и конструктор цикла
Блок Сетка содержимого запрашивает записи, страницы или товары и раскладывает их. Постраничная навигация — это обычные ссылки, поэтому она работает и с отключённым JavaScript.
- Сортировка задаётся фиксированным списком — дата, изменение, заголовок, порядок меню, случайно, — потому что это значение доходит до базы данных.
- Заголовки карточек идут от h2 до h6. h1 не предлагается: сетка карточек на странице, где h1 уже есть, нарушила бы порядок заголовков.
- По одной ссылке на карточку. Если ссылками сделать и изображение, и заголовок, и «читать далее», программа чтения с экрана объявит одну и ту же цель трижды.
- Сетка кеширует найденные идентификаторы записей, но никогда отрисованный HTML, а кеш сбрасывается при сохранении любой записи — поэтому «я опубликовал запись, а её не видно» случиться не может.
Конструктор цикла позволяет нарисовать карточку самостоятельно, вместо встроенной. Вы создаёте шаблон типа Карточка цикла, собираете его из обычных блоков с динамическими привязками и выбираете его в настройках сетки.
Пока вы редактируете шаблон карточки, контекста записи нет, поэтому динамические привязки показывают свои статические запасные значения. А если шаблон пуст, удалён, остался черновиком или ссылается сам на себя, сетка откатывается к встроенной карточке вместо того, чтобы не выводить ничего. Вложенность циклов ограничена двумя уровнями.
Движок форм
Шестнадцать типов полей с проверкой на стороне сервера. Форма — та часть страницы, которая действительно что-то делает, поэтому она работает без JavaScript: обычная отправка POST получает ту же проверку и те же сообщения, что и отправка через скрипт.
- Типы полей
- Текст, Email, Телефон, Адрес (URL), Число, Дата, Время, Скрыто, Длинный текст, Выпадающий список, Список с множественным выбором, Одиночный выбор, Несколько флажков, Флажок, Текст согласия (KVKK) и Подзаголовок. В Pro добавляется поле для загрузки файла.
- Куда попадают заявки
- И в собственную таблицу, и на почту. Запись создаётся первой, письмо отправляется вторым, потому что доставка почты срывается гораздо чаще, чем запись в базу данных.
- Как их читать
- MevvBlocks → Отправки форм. В Pro там добавляется экспорт в CSV.
- Уведомление по почте
- Отправитель — ваш сайт, а не посетитель. Использование адреса посетителя как отправителя — самая частая причина, по которой письма форм не доходят: SPF и DMARC их отклоняют. Его адрес вместо этого попадает в Reply-To.
Со спамом справляются три слоя и ни одной CAPTCHA: подпись, не зависящая от сессии, минимальное время заполнения и поле-ловушка honeypot. Отправка, заполнившая ловушку, молча принимается и выбрасывается — показ ошибки сообщил бы боту, что его поймали, и в следующий раз он бы это поле пропустил.
Почему подпись, а не nonce из WordPress? Nonce привязан к сессии и к двенадцатичасовому окну. На кешированном сайте один и тот же HTML отдаётся часами или днями, nonce внутри него давно истёк, и форма молча перестаёт работать. Это самый частый полевой отказ плагинов форм. Подпись здесь действует семь дней и не зависит от того, кто просматривает сайт.
IP-адрес отправки никогда не хранится в читаемом виде — только дайджест, посоленный ключом вашего собственного сайта, чтобы записи с двух разных сайтов нельзя было сопоставить друг с другом.
Хранение заявок не привязано к лицензии. Если бы было привязано, день просроченного платежа стал бы днём, когда клиент начал терять данные.
Шаблоны темы
Семь типов шаблонов, создаваемых в том же редакторе WordPress, которым вы уже пользуетесь, — Шапка, Подвал, Отдельная запись, Архив, Результаты поиска, Не найдено (404) и Карточка цикла. Второй редактор был бы ещё одной вещью, которую пришлось бы держать в ногу с ядром WordPress.
Тип и условия находятся в обычном блоке боковой панели, а не в React-панели: классический блок сохраняется и при выключенном JavaScript и не ломается при изменении API редактора.
- Условия
- Весь сайт, главная страница, тип записи, категория или один конкретный материал. Оставьте пустым — будет весь сайт.
- Когда подходит несколько
- Побеждает самое узкое условие.
- Некорректные условия
- Отбрасываются при сохранении и хранятся пустыми, а не остаются недопустимым текстом, из-за которого шаблон молча никогда бы не появлялся.
Шаблоны шапки и подвала размещаются только на Astra и GeneratePress. Если для вашей темы рецепта нет, они не выводятся вовсе, и экран об этом сообщает — прикрепить шапку к теме, которую мы не умеем снимать, значит гарантированно получить две шапки. Шаблоны одиночной записи, архива, поиска и 404 работают на любой теме, потому что они заменяют цикл и оставляют собственные шапку и подвал темы на месте.
Шаблон «Карточка цикла» никогда никуда не помещает себя сам. Его выбирает блок сетки.
Библиотека паттернов и пресеты блоков
Двадцать готовых паттернов: шестнадцать секций и четыре полные страницы. Они зарегистрированы как обычные паттерны WordPress, поэтому вставляются привычным способом — кнопка +, вкладка Паттерны, затем категория Секции MevvBlocks или Страницы MevvBlocks.
Собственного модального окна для этого не писали. Инструмент вставки ядра и так бесплатно даёт предпросмотр, поиск, навигацию с клавиатуры и перевод, а вставляет он обычную блочную разметку — привязываться не к чему.
Паттерны поставляются без изображений. Подтягивать изображения со стороны — это вопрос авторского права, вопрос приватности и привязка внешнего вида вашей страницы к тому, что чужой сервер продолжит работать. Блоки изображений стоят на местах с заполненным alt-текстом; выберите свои.
Пресеты блоков сохраняют настройки внешнего вида блока под именем и применяют их к другому блоку того же типа. Содержимое намеренно не сохраняется — текст, ссылки, изображения и пункты списка вырезаются, поэтому применение пресета никогда не перезаписывает написанное вами.
На фронтенде паттерны вообще не регистрируются. Генерация их разметки при каждом просмотре страницы была измерена в 109 КБ и 3,59 мс — плата ни за что, ведь никто не вставляет паттерн во время чтения.
Всплывающие окна
Собираются в блочном редакторе, как и всё остальное; триггеры, условия и частота показа находятся в боковой панели того же экрана. Управляются в MevvBlocks → Всплывающие окна.
- Триггеры
- При загрузке страницы с задержкой, на проценте прокрутки, при намерении уйти, по клику, совпадающему с CSS-селектором, или через промежуток активного времени. Таймер активности останавливается, пока вкладка в фоне.
- Условия
- Весь сайт, главная страница, отдельные страницы, тип записи или категория; авторизованные, неавторизованные или все; и отдельно по устройствам.
- Частота
- Каждый раз, один раз за сессию или раз в N дней.
- Внешний вид
- Положение, ширина, показывать ли заголовок, закрывается ли окно по клику снаружи, и анимация открытия.
Счётчик «больше не показывать» хранится в браузере самого посетителя, а не на сервере. Считать его на сервере значило бы выпускать устойчивую идентичность для каждого посетителя только ради того, чтобы не показать ему окно дважды.
Устройство определяет браузер, а не разбор user agent. По user agent нельзя надёжно отличить планшет от телефона, а за полностраничным кешем всем отдавалось бы устройство первого посетителя. Если триггер не выбран, всплывающее окно откатывается к загрузке страницы; если не выбрано устройство — ко всем трём: окно, которое молча никогда не появляется, хуже того, которое появляется слишком часто.
Палитра сайта
Один экран для цветов и типографики, доступный и из меню MevvBlocks, и из раздела Внешний вид, потому что именно там его ищут. У каждой записи показано её собственное имя переменной, а блоки ссылаются на эти имена, а не на конкретные значения.
Именно это позволяет странице, собранной до перехода, подхватить новую палитру, а не потерять свои ссылки: имена переменных остаются теми же, которые ваши страницы уже используют.
Удаления нет. Набор цвета или типографики можно оставить пустым, но его удаление оставило бы каждый ссылавшийся на него блок указывающим в никуда. Опустошение обратимо; удаление ссылки — нет.
Аудит доступности
MevvBlocks → Доступность сканирует ваши опубликованные страницы, записи и шаблоны и сообщает, что упустил каждый блок: изображение без альтернативного текста, пустой заголовок, кнопку без названия или без адреса, нарушенный порядок заголовков, слишком низкий контраст.
Тот же аудит доступен как панель в боковой колонке прямо во время редактирования — там исправить находку дешевле всего.
Это намеренно не наложенный виджет. Слои, которые прикручивают к странице «меню доступности», не исправляют ничего: у изображения без alt-текста его по-прежнему нет, а низкоконтрастный текст по-прежнему нечитаем. Нести заявление «этот сайт доступен», когда это неправда, — позиция хуже, чем не заявлять ничего: сайты с такими наложениями судились именно из-за этого. Этот инструмент измеряет и сообщает вам; исправлять — вам.
Контраст сообщается только тогда, когда оба цвета действительно известны. Догадки об унаследованном цвете дали бы предупреждения, с которыми ничего нельзя сделать.
Скорость — кеширование элементов и изображения
Две отдельные вещи, обе в бесплатной редакции.
Кеширование элементов. Вывод блоков сохраняется, а не пересобирается при каждом запросе. Измерено: время отрисовки блока меньше на 33–72%. Используется постоянный объектный кеш (Redis, Memcached), когда он есть, и transients, когда его нет.
Блок, чей вывод меняется от посетителя, запроса или момента, не сохраняется никогда: формы, вход, регистрация, мини-корзина, сетка товаров, поиск, корзина, оформление заказа, моя учётная запись, шорткод. Шорткод в этом списке потому, что мы не знаем, что внутри него: однажды на действующем сайте мы заморозили токен WPForms, и с тех пор это правило соблюдается на уровне исходного кода.
Оптимизация изображений. Рядом с оригиналом записывается копия каждого загруженного изображения в WebP (по желанию — AVIF); оригинал не трогается. Измерено: на 39–78% меньше. Файл, который не уменьшился, не сохраняется — маленькие однотонные PNG обычно в WebP только растут.
Изображения отдаются внутри элемента <picture>: адрес каждого формата есть в HTML, а выбирает браузер. Решение на сервере по заголовку Accept намеренно не используется: когда один и тот же адрес меняется от посетителя к посетителю, любой кеш на пути может отдать не тот файл не тому человеку.
Если другой плагин действительно выполняет эту работу (LiteSpeed, ShortPixel, Imagify, Smush, EWWW, Optimole, Converter for Media), MevvBlocks сам отходит в сторону и объясняет почему. Вопрос не в том, «установлен ли он», а в том, «может ли он реально работать»: LiteSpeed с включённой оптимизацией изображений, но без облачного ключа не делает ничего.
Core Web Vitals — измерено на ваших посетителях
Core Web Vitals по определению — это полевые данные: они измеряются в браузерах реальных посетителей и сообщаются как 75-й процентиль за 28-дневное окно. Прогон Lighthouse — совсем другое: одна машина, одна сеть, один момент. Понимание, где что, и снимает путаницу «PageSpeed показывает 98, а Search Console — красное».
Экран Web Vitals показывает по три числа на класс устройств:
- LCP
- Сколько времени требуется, чтобы появилось основное содержимое. Хорошо — 2,5 секунды или меньше.
- CLS
- Насколько страница смещается, пока устанавливается. Хорошо — 0,1 или меньше.
- INP
- Сколько времени страница отвечает на касание или клик. Хорошо — 200 мс или меньше.
Измеряющий скрипт весит около килобайта и не загружает библиотек — работу делает собственный PerformanceObserver браузера. Выборка по умолчанию — 10% посещений, и решает браузер, а не сервер: если бы решал сервер, один и тот же URL давал бы два разных HTML-документа, а полностраничный кеш отдал бы всем тот, который увидел первым.
Ничего личного не собирается: ни IP, ни cookie, ни идентификаторов. Три значения, класс устройства и путь страницы, хранимые на вашем собственном сервере в виде счётчиков по корзинам. Никуда ничего не отправляется.
Меньше ста замеров — и экран не показывает числа вовсе: вместо него он сообщает, сколько замеров есть. Процентиль по десятку измерений — это шум, а неверное число хуже отсутствия числа, потому что кто-нибудь на его основании начнёт действовать. Процентиль читается из гистограммы, поэтому он приблизителен с точностью до ширины корзины, и экран об этом говорит.
Трансформации и маски
Любой блок можно сместить, масштабировать, повернуть (по Z и в 3D по X/Y), наклонить и отразить — каждое с отдельными значениями для десктопа, планшета и мобильного. Отдельно задаются трансформация при наведении и длительность перехода.
Маской может быть круг, треугольник, шестиугольник, клякса, цветок, произвольная фигура или ваше собственное изображение — с управлением размером, положением и повтором.
Фигуры встроены в CSS, а не поставляются отдельными файлами SVG. Неверный путь к файлу заставляет маску молча исчезнуть, и 404 никто не видит; за CDN адрес папки плагина к тому же может измениться.
Свой код для всего сайта
HTML, CSS и JavaScript можно разместить в head, в начале body или в конце: теги подтверждения, счётчики, небольшие правки стилей. Настраиваются положение, приоритет и условие по сессии.
PHP он не выполняет. Запуск PHP внутри конструктора страниц превратил бы права дизайнера в право выполнять код на сервере.
Требуется право unfiltered_html: тот, кто не может вставить необработанный скрипт в запись, не может вставить его и на весь сайт. При установленном MevvLegal размещённые здесь отслеживающие скрипты тоже удерживаются до согласия на cookie.
Блоки WooCommerce
Двадцать блоков: название товара, изображения, цена, добавить в корзину, рейтинг, наличие, мета, краткое описание, описание, вкладки данных, дополнительная информация, похожие товары, допродажи, кросс-продажи, корзина, оформление заказа, моя учётная запись, отслеживание заказа, сортировка и количество результатов.
Ни один из них не перерисовывает WooCommerce. Все они вызывают его собственные функции шаблонов и шорткоды. Ваша тема меняет эти шаблоны, а ваши плагины к ним подключаются — доставка, рассрочка, уведомления о наличии, таблицы размеров. Собственная разметка молча отбросила бы всё это.
Корзина, оформление заказа, моя учётная запись и отслеживание заказа зависят от посетителя: полностраничное кеширование для них выключено, и они никогда не кешируются как элементы. Если WooCommerce не активен, эти блоки не регистрируются ни на сервере, ни в редакторе.
Заметки в редакторе
К любому блоку можно прикрепить заметку: кто её написал, когда и решена ли она.
Заметки НИКОГДА не выводятся на странице. В этом файле нет ни одного фронтенд-хука, и это закреплено тестом. Заметки — это внутренний разговор; их появление у посетителя было бы хуже сломанного макета.
Заметка привязана к идентичности блока. При дублировании копия получает НОВУЮ идентичность, поэтому заметку она не наследует — а побочной выгодой получает собственную область CSS.
Заметки живут в данных самой записи: удалите запись — и заметки уйдут вместе с ней, не оставив осиротевших строк.
ИИ в редакторе — с вашим собственным ключом
Написать, переписать, сократить, сгенерировать alt-текст изображения и перевести. Поддерживаются Anthropic и OpenAI.
Вы вводите СВОЙ СОБСТВЕННЫЙ ключ API, и запрос уходит с вашего сайта НАПРЯМУЮ к провайдеру. Ваш текст к нам не попадает; квота и счёт остаются вашими. Собственный облачный сервис мы не строили: тогда ваш текст проходил бы через наши серверы и ответственность за данные стала бы нашей.
Ключ никогда не попадает в браузер — запрос выполняется с сервера. Его не возвращает ни одна точка API; даже форма настроек не выводит значение обратно.
Ключ мы НЕ шифруем и говорим об этом прямо: в WordPress ключ шифрования вынужден лежать на том же сервере, поэтому атакующий с доступом к базе данных получает оба. Назвать это «зашифрованным» значило бы пообещать защиту, которой нет.
Результат не записывается сразу в блок; он приходит как предложение, а применяете его вы. Это наша настоящая защита от того, что фраза, спрятанная в вашем содержимом, будет прочитана как инструкция: одобряет человек.
Free и Pro
Бесплатная редакция — это весь продукт: все сто один блок, шаблоны темы, сетка и конструктор цикла, движок форм с хранилищем заявок, меню, поиск, всплывающие окна, библиотека паттернов, пресеты блоков, глобальная палитра, оптимизация изображений, кеширование блоков, свой код для всего сайта, заметки в редакторе, экран Core Web Vitals и аудит доступности.
Pro добавляет возможности редактирования, а не вывод:
- Контрольные точки — вкладки «компьютер / планшет / мобильный» с минимальной высотой, шириной содержимого, шириной и четырьмя значениями внутренних отступов для каждой контрольной точки.
- Пользовательский CSS для каждого блока, где токен
selectorобозначает сам этот блок. - Дополнения форм — условные поля, автоматический ответ отправителю, вебхук и поле загрузки файла.
- Экспорт в CSV заявок из форм.
Панели контрольных точек и пользовательского CSS сегодня появляются у основных блоков — Контейнер, Заголовок, Текст, Кнопка, Разделитель, Изображение, Отзыв, Иконка, Блок с иконкой, Список с иконками, Шорткод, Форма, Товары и Категории товаров. Некоторые настройки по контрольным точкам бесплатны везде, где они есть: число колонок сетки на планшете и мобильном, порог гамбургер-меню, положение блока изображения на мобильном и выбор устройства для закреплённого положения.
Когда лицензия истекает или отсутствует:
- Ваш сайт выглядит ровно так же. Каждое сохранённое значение для планшета и мобильного продолжает выводиться, как и каждое собственное правило CSS для блока. Это не обещание, а архитектурное правило: ни один файл на пути отрисовки не спрашивает о лицензии, и тест проверяет это в каждом релизе.
- Формы продолжают отправляться, сохранять данные и слать письма.
- Существующие всплывающие окна продолжают показываться.
- Вы теряете только панели Pro в редакторе — и ничего больше.
Если наши серверы недоступны, активная лицензия продолжает работать семь дней. Установка, которая ни разу не прошла успешную проверку, не получает отсрочки вовсе: блокировка нашего адреса — не способ получить Pro.
Когда что-то не работает
- «Сессия формы истекла.»
- Кешированная копия этой страницы старше семи дней, или на вашем сайте были заменены ключи безопасности. Очистите кеш страниц.
- Форма не отправляет письма
- Сначала посмотрите список заявок: запись создаётся раньше письма, поэтому если она там есть, форма сработала, а доставка — нет. Затем проверьте адрес получателя и почтовые настройки сайта.
- В редакторе страница выглядит правильно, а на фронтенде — нет
- Предпросмотр в редакторе по замыслу приблизителен; см. выше. Истина — это фронтенд. Если у блока есть значения для планшета или мобильного, редактор выводит уведомление об этом.
- При попытке отредактировать блок он сообщает, что недействителен
- Исторически так происходило с блоками, зарегистрированными на сервере, но отсутствующими в скрипте редактора: они выводились безупречно и подводили только при открытии на редактирование. Теперь это закрыто тестом; если вы всё же это видите, сообщите имя блока.
- Обратный отсчёт показывает неверное время
- Разметка несёт абсолютный момент цели, а не «осталось X секунд», поэтому кешированная страница не может её заморозить. Блок сверяется с часами сервера; если этот запрос заблокирован, он откатывается к часам самого посетителя, а не падает.
- Шаблон шапки или подвала не показывается
- Для вашей темы нет рецепта. Снять можно только Astra и GeneratePress; экран об этом предупреждает. Остальные типы шаблонов работают на любой теме.
- Появились две шапки
- Шапку формируют и MevvBlocks, и MevvBridge. MevvBlocks намеренно занимает место первым — оставьте шапку кому-то одному.
- Контейнеры шире или уже заданного
- Правило темы побеждает по специфичности. Особенно сильно оформляет своих потомков Astra. Для измеренных случаев это исправлено повышением специфичности, а не через
!important; если встретите новый случай, скажите, какая тема. - Опубликованная запись не появляется в сетке
- Должна появляться. Сетка кеширует только идентификаторы записей, и сохранение любой записи сбрасывает кеш. Если проблема сохраняется, проверьте, что тип записи и сортировка — те, которых вы ожидаете.
Ограничения
- Предпросмотр в редакторе приблизителен. Показываются структура и содержимое; точный внешний вид — это фронтенд.
- Шаблоны шапки и подвала работают только на Astra и GeneratePress. Любая другая тема не получает ничего, зато получает предупреждение — молчание означало бы две шапки.
- Карта — это вставка OpenStreetMap. Один маркер, без своего изображения маркера, без стилизации карты, без маршрутов. Ни ключа API, ни платёжного аккаунта, ни ключа, лежащего в исходном коде вашей страницы.
- Никакого наложения для доступности. Только измерение и отчёт.
- Никакой CAPTCHA.
- Никакого живого поиска. Запрос на каждое нажатие клавиши — это зависимость и поверхность для ограничения частоты.
- Обратный отсчёт использует часовой пояс сайта, а не посетителя. Кампания заканчивается во всём мире в один момент.
- Меню предлагает два брейкпоинта, а не свободное значение в пикселях, и не имеет режима выпадающей или выезжающей панели — выдвижная панель с управлением фокусом это то, для чего есть блок всплывающего окна.
- Карточки сетки не могут быть h1, а вложенность циклов останавливается на двух уровнях.
- Динамическое содержимое приходит из фиксированного списка источников. Поля «выполнить это выражение» нет: оно передало бы выполнение кода любому, кто может редактировать страницу.
- Глобальные наборы цвета и типографики нельзя удалить, только опустошить.
- Карточки товаров рисует WooCommerce, а не мы, поэтому ваша тема и любые сторонние хуки продолжают работать.
- Интерфейс поставляется на одиннадцати языках. Турецкий, английский, испанский, немецкий, французский, португальский, итальянский, нидерландский, японский, русский и польский, плюс страновые варианты вроде es_MX и pt_PT. Любая другая локаль откатывается к английскому.
- Окно Web Vitals сбрасывается каждые 28 дней, оно не скользит. Скользящему окну понадобились бы суточные корзины и в двадцать восемь раз больше места. Экран показывает, когда началось текущее окно.
- Удаление плагина не убирает таблицу заявок и настройки. Содержимое ваших блоков в любом случае остаётся читаемым — это стандартная разметка в
post_content.
Никакая сторонняя библиотека JavaScript или CSS не загружается нигде. Ни для слайдера, ни для аккордеона, ни для движения, ни для карты. Каждая из них стоила бы от сорока до ста килобайт на каждой странице, где используется.