Документация MevvCode

Запускайте небольшой код с настоящей границей безопасности.

MevvCode управляет сниппетами PHP, JavaScript, CSS, HTML и текста, не обращаясь при каждом запросе к редактируемой записи в базе данных. В этом руководстве — установка, модель среды выполнения, миграция с Code Snippets, безопасный режим, переносимость и точная граница между Free и Pro.

Для чего нужен MevvCode

MevvCode — дом для небольших фрагментов поведения, свойственных именно вашему сайту: правило доставки WooCommerce, поле оформления заказа, тег подтверждения, короткий инструмент в админке, визуальная правка CSS или многократно используемый HTML либо текст. Он даёт коду владельца, место запуска, условия, историю и защищённый путь в продакшен.

Когда его стоит применять
Изменение меньше полноценного плагина, но достаточно важное, чтобы не потеряться внутри файла темы.
Когда его применять не стоит
Требуется законченный предметный продукт со своей моделью данных, экранами и циклом выпусков; в этом случае напишите обычный плагин.
Владение кодом
Пишите код сами или берите проверенный код у разработчика либо источника, которому доверяете. MevvCode управляет кодом и защищает его; он не делает незнакомый сниппет заслуживающим доверия.

Любой заимствованный сниппет начинайте отключённым. Прочитайте его, уберите секреты и идентификаторы, привязанные к сайту, и только затем проверьте его перед включением.

Установка

Сначала установите и активируйте бесплатный плагин MevvCode. Ему нужны WordPress 6.6 или новее и PHP 8.1 или новее. Pro — отдельный плагин-компаньон, он никогда не заменяет бесплатную среду выполнения.

  1. Загрузите mevvcode-1.1.0.zip и активируйте его.
  2. Откройте MevvCode → Сниппеты. Каталог хранения и файлы защиты веб-сервера создаются автоматически.
  3. Создайте отключённый сниппет, выберите его тип и место запуска, затем сохраните.
  4. Перед включением посмотрите предпросмотр и результат проверки синтаксиса.
  5. Устанавливайте mevvcode-pro-1.1.0.zip, только если вам нужны экраны Pro, затем активируйте лицензию MEVD в разделе MevvCode → Лицензия.

Пока установлен Pro, держите бесплатный плагин активным. Исполняемая среда выполнения принадлежит бесплатной редакции, поэтому истёкшая лицензия никогда не заставит исчезнуть уже опубликованное поведение.

Ваш первый сниппет

Первую запись создайте отключённой. Дайте ей название по назначению, выберите PHP и глобальное место запуска только в том случае, если код сам привязывается к узкому хуку WordPress или WooCommerce, и сохраните.

add_filter( 'woocommerce_package_rates', function ( $rates ) {
    if ( ! WC()->cart || WC()->cart->get_subtotal() < 1000 ) {
        return $rates;
    }
    return array_filter( $rates, function ( $rate ) {
        return 'free_shipping' === $rate->method_id;
    } );
} );
  1. Прочитайте результат проверки; ошибка разбора обязана оставить запись отключённой.
  2. Убедитесь, что в магазине уже настроен способ бесплатной доставки.
  3. Включите сниппет на тестовой копии и проверьте корзины ниже и выше порога.
  4. Перед переносом записи в продакшен выгрузите копию в JSON.
  5. Опубликуйте, затем проверьте публичную корзину и эндпоинт состояния MevvCode.

Пример показывает порядок работы, а не универсальную политику доставки. Налоги, купоны, валюты и зоны доставки могут изменить то, какую промежуточную сумму должно брать ваше бизнес-правило.

Турецкая панель управления и строка плагина

Бесплатная редакция и Pro 1.1.0 поставляются с редактируемыми PO, скомпилированными MO и каталогами POT. Когда языком сайта WordPress выбран Türkçe (tr_TR), панель управления, состояния миграции, ошибки проверки и экран лицензии загружаются на турецком автоматически.

  • На экране плагинов показывается переведённое описание.
  • Настройки открывают вкладку настроек MevvCode напрямую.
  • Документация открывает эту страницу, а Поддержка — страницу контактов.
  • Механизм зависимостей WordPress не даёт удалить бесплатную редакцию, пока она нужна MevvCode Pro.

Если турецкая панель не загружается, проверьте Настройки → Общие → Язык сайта, затем обновите бесплатную редакцию и Pro до одной версии. Не переименовывайте файлы в каталоге languages.

Модель среды выполнения

Редактируемые записи лежат в wp-content/mevvcode-snippets/records. Сохранение активного изменения собирает новое поколение во временном каталоге, проверяет каждый файл PHP, пишет манифест и только после этого меняет текущий указатель.

Записи
Редактируемый исходный код, метаданные, условия и история.
Поколение
Неизменяемые скомпилированные файлы для одного заведомо рабочего состояния.
Манифест
Небольшая карта, которую путь запроса читает, чтобы найти текущее поколение.

Ошибка компиляции не обновляет сайт наполовину. Старый манифест остаётся текущим, сбойный исходник остаётся редактируемым, а панель показывает ошибку. Запроса за кодом сниппета на каждый запрос не существует.

Не правьте сгенерированные файлы вручную. Это одноразовый результат сборки, и следующая успешная компиляция его заменит.

Типы, места запуска и условия

PHP выполняется через хуки WordPress. JavaScript, CSS, HTML и текст выводятся только в том месте, которое вы указали явно: head, начало body, подвал, до или после содержимого, шорткод, вручную или один раз.

  • Внутри одной группы условий действует AND; группы объединяются через OR.
  • Контексты админки, фронтенда, URL, пользователя, роли и запроса можно сочетать.
  • Метки и группы упорядочивают записи; блокировка защищает от случайной правки и массовых действий.
  • Сниппет с ручным вызовом не подключается ни к одному хуку запроса, пока его не вызовет ваш собственный код.

Выбирайте самое узкое место запуска и самое узкое условие, которое описывает требование. Глобальный хук PHP должен быть осознанным решением, а не домом по умолчанию для кода, скопированного из ответа поддержки.

Переход с Code Snippets

Откройте MevvCode → Перенос. Импортёр читает таблицу сниппетов с префиксом сайта, сохраняет каждый исходный идентификатор и точные байты кода и создаёт подготовленные записи MevvCode, не меняя того, какой плагин активен.

  1. Запустите обнаружение и проверьте число записей.
  2. Импортируйте в подготовленный, отключённый набор.
  3. Разберите каждый сниппет, активный в Code Snippets.
  4. Сделайте снимок для отката: список активных плагинов и текущий манифест MevvCode.
  5. Скомпилируйте одно полное поколение.
  6. Начните переход. Code Snippets отключается только после того, как манифест существует.
  7. Подписанный обратный запрос проверяет публичный сайт. При успехе переход фиксируется; при неудаче список плагинов и манифест восстанавливаются автоматически.

Исходные таблицы не удаляются. Ручной откат остаётся доступным и после успешного перехода и заново включает ровно тот список активных плагинов, что был раньше. На mevvshop.com 1 сентября 2026 года измеренный боевой переход сохранил 9 записей, 6 активных состояний и дал 0 расхождений по имени, точным байтам кода, приоритету и статусу. Это доказательство для того магазина, а не универсальный эталон.

Если импортированный сниппет не проходит разбор, исправьте подготовленную копию в MevvCode или оставьте её отключённой. Не отключайте Code Snippets вручную, пока переход не сообщит о работоспособном поколении.

Безопасный режим и восстановление

В безопасный режим можно войти с помощью описанной в документации константы или короткоживущего подписанного URL, созданного для администратора. В безопасном режиме выполнение сниппетов останавливается, а панель управления остаётся доступной для починки.

  • Ошибка разбора PHP никогда не становится текущим поколением.
  • Исключение во время выполнения отключает виновную запись и оставляет остальные сниппеты доступными.
  • Защита от фатальных ошибок записывает только идентичность и состояние записи, нужные для восстановления, — и никогда исходный код или секреты запроса.
  • Предыдущее заведомо рабочее поколение сохраняется, пока замена не пройдёт все проверки.
define( 'MEVVCODE_SAFE_MODE', true );

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

Переносимость и резервные копии

Выгружайте выбранные записи как MevvCode JSON v1 — для перехода туда и обратно без потерь — или как читаемый PHP, когда получатель не должен зависеть от MevvCode. Импорт из Code Snippets и WPCode — это адаптеры к тому же каноническому формату записи.

  • Экспорт в JSON включает метаданные, условия и статус.
  • Экспорт в PHP предназначен для просмотра и передачи в ручное владение, а не для обратного импорта скрытых метаданных.
  • MU-загрузчик способен унести скомпилированное поведение, когда обычный плагин приходится удалить.
  • Pro может упаковать выбранные сниппеты в обычный ZIP плагина функциональности, проверив имена, пути и PHP.

Перед большим импортом, массовым включением или переходом держите копию выгрузок вне сайта. Ревизии — это история правок, а не резервная копия для аварийного восстановления.

Free и Pro

Бесплатная редакция — полноценный безопасный локальный менеджер сниппетов. В неё входят все пять типов, атомарная среда выполнения, места запуска и базовые условия, защита от фатальных ошибок, безопасный режим, переход с Code Snippets, импорт и экспорт, генераторы, ревизии, права ролей, REST только на чтение и MU-загрузчик.

Pro — слой совместной работы и доставки. Он добавляет многократно используемые и запланированные условия; контекст устройства, реферрера, гео, корзины и заказа; неограниченную историю аудита; сборки CSS/JS и внешние ресурсы; пиксельные события электронной коммерции; подписанную автоматизацию; экспорт плагина; локальную сводную аналитику; зашифрованные облачные рабочие пространства; AI-обзор по отдельному согласию; и REST/MCP-совместимый API с разрешениями по действиям.

Облако и AI включаются по отдельности. AI получает копию с затёртыми секретами и возвращает диф обзора; он никогда не применяет диф автоматически. Запись в облако использует HMAC, подписанный ключом лицензии, а оптимистичные ревизии отклоняют устаревшие обновления.

Как найти и активировать лицензию Pro

Купленная лицензия привязана к адресу электронной почты, указанному при оформлении заказа, и видна на mevvsoft.com/account. Ключ начинается с MEVD; никогда не вставляйте его в обращение в поддержку, в URL или в публичный журнал.

  1. Установите и активируйте бесплатный пакет MevvCode.
  2. Установите и активируйте соответствующий пакет MevvCode Pro.
  3. Войдите в аккаунт, созданный для адреса из заказа, и скопируйте ключ MevvCode Pro.
  4. Откройте MevvCode → Лицензия, вставьте ключ MEVD и активируйте его.
  5. Убедитесь, что статус активен и что сайт отображается напротив лицензии в вашем аккаунте.

Если лицензии в аккаунте нет, сначала убедитесь, что вы вошли под тем же адресом, который использовали при оформлении заказа. Если она есть, но активация сообщает о лимите сайтов, освободите старый сайт в аккаунте или обратитесь в поддержку, не отправляя ключ целиком.

Вопросы и решение проблем

Сниппет сохранился, но не выполнился
Проверьте, что он включён, что место запуска соответствует запросу, что хотя бы одна группа условий выполнима и что безопасный режим выключен.
После миграции старый плагин всё ещё активен
Переход не зафиксирован. Прочитайте результат миграции: разбор, компиляция или обратная проверка работоспособности не удались, и откат защитил сайт.
Сайт перешёл в безопасный режим
Откройте панель управления по подписанному URL восстановления, изучите последнюю отключённую запись, исправьте её или оставьте отключённой, скомпилируйте и затем выйдите из безопасного режима.
Облако сообщает о конфликте
Другой клиент изменил рабочее пространство после той ревизии, которую вы загрузили. Сравните удалённую запись со своей локальной и отправьте изменения снова, опираясь на новую базовую ревизию.
AI-обзор недоступен
Должны быть активны и лицензия Pro, и явное согласие на использование AI, а адаптер сервиса — настроен. Локальные сниппеты продолжают работать.

Обращаясь в поддержку, пришлите версии плагинов, версии WordPress и PHP, UUID записи и точный текст ошибки. Уберите секреты и данные клиентов. Не присылайте боевой ключ лицензии или исходный код целиком, если в этом нет необходимости и вы его не просмотрели.