Documentación de MevvCode

Ejecute código pequeño con un límite de seguridad real.

MevvCode gestiona snippets de PHP, JavaScript, CSS, HTML y texto sin consultar un registro editable de la base de datos en cada petición. Esta guía cubre la instalación, el modelo de ejecución, la migración desde Code Snippets, el modo seguro, la portabilidad y la frontera exacta entre Free y Pro.

Para qué sirve MevvCode

MevvCode es un hogar para pequeñas piezas de comportamiento propio del sitio: una regla de envío de WooCommerce, un campo del proceso de pago, una etiqueta de verificación, una pequeña herramienta de administración, un arreglo visual en CSS o HTML/texto reutilizable. Le da al código un propietario, una ubicación, condiciones, historial y una ruta protegida hacia producción.

Úselo cuando
El cambio es más pequeño que un plugin completo, pero lo bastante importante como para que no deba desaparecer dentro de un archivo del tema.
No lo use cuando
El requisito es un producto de dominio completo, con su propio modelo de datos, sus pantallas y su ciclo de vida de versiones; en ese caso, construya un plugin convencional.
Propiedad del código
Escriba el código usted mismo o traiga código revisado de un desarrollador o de una fuente de confianza. MevvCode gestiona y protege el código; no convierte en fiable un snippet desconocido.

Empiece cada snippet prestado en estado inactivo. Léalo, elimine los secretos y los identificadores propios del sitio, y valídelo antes de activarlo.

Instalación

Instale y active primero el plugin gratuito MevvCode. Requiere WordPress 6.6 o posterior y PHP 8.1 o posterior. Pro es un plugin complementario aparte y nunca sustituye el runtime gratuito.

  1. Suba mevvcode-1.1.0.zip y actívelo.
  2. Abra MevvCode → Fragmentos de código. El directorio de almacenamiento y sus archivos de protección del servidor web se crean automáticamente.
  3. Cree un snippet inactivo, elija su tipo y su ubicación, y guárdelo.
  4. Use la vista previa y el resultado de sintaxis antes de activarlo.
  5. Instale mevvcode-pro-1.1.0.zip solo si necesita las pantallas de Pro y active después su licencia MEVD en MevvCode → Licencia.

Mantenga activo el plugin gratuito cuando Pro esté instalado. El runtime ejecutable pertenece a Free, de modo que una licencia caducada nunca hace desaparecer un comportamiento ya publicado.

Su primer snippet

Cree el primer registro inactivo. Póngale un nombre que describa su propósito, seleccione PHP y la ubicación global solo si el propio código se engancha a un hook concreto de WordPress o WooCommerce, y guarde.

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. Lea el resultado de la validación; un error de análisis debe dejar el registro inactivo.
  2. Confirme que su tienda ya tiene configurado un método de envío gratuito.
  3. Active el snippet en un entorno de pruebas y pruebe carritos por debajo y por encima del umbral.
  4. Exporte una copia en JSON antes de llevar el registro a producción.
  5. Publique y verifique después el carrito público y el endpoint de salud de MevvCode.

El ejemplo demuestra el flujo de trabajo, no una política de envíos universal. Los impuestos, los cupones, las monedas y las zonas de envío pueden cambiar qué subtotal debería usar su regla de negocio.

Panel en turco y fila del plugin

Free y Pro 1.1.0 incluyen catálogos PO editables, MO compilados y POT. Cuando el idioma del sitio WordPress es Türkçe (tr_TR), el panel, los estados de la migración, los errores de validación y la pantalla de licencia se cargan en turco automáticamente.

  • La pantalla de Plugins muestra la descripción traducida.
  • Ajustes abre directamente la pestaña de ajustes de MevvCode.
  • Documentación abre esta página y Soporte abre la página de contacto.
  • La gestión de dependencias de WordPress impide eliminar Free mientras MevvCode Pro lo necesite.

Si el panel en turco no se carga, revise Ajustes → Generales → Idioma del sitio y actualice después Free y Pro a la misma versión. No cambie el nombre de los archivos del directorio de idiomas.

El modelo de ejecución

Los registros editables viven en wp-content/mevvcode-snippets/records. Al guardar un cambio activo se construye una nueva generación en un directorio temporal, se valida cada archivo PHP, se escribe un manifiesto y solo entonces se cambia el puntero actual.

Registros
El origen editable, los metadatos, las condiciones y el historial.
Generación
Archivos compilados inmutables para un estado que se sabe correcto.
Manifiesto
El pequeño mapa que lee la ruta de la petición para encontrar la generación actual.

Un fallo de compilación no actualiza el sitio a medias. El manifiesto antiguo sigue siendo el actual, el origen fallido permanece editable y el panel muestra el error. No hay ninguna consulta por petición para el código de los snippets.

No edite a mano los archivos generados. Son salida de compilación desechable y serán reemplazados por la siguiente compilación correcta.

Tipos, ubicaciones y condiciones

PHP se ejecuta a través de los hooks de WordPress. JavaScript, CSS, HTML y texto se imprimen solo en la ubicación explícita que usted seleccione: head, apertura del body, pie, antes o después del contenido, shortcode, manual o una sola vez.

  • Dentro de un grupo de condiciones se aplica Y; los grupos se unen con O.
  • Se pueden combinar el contexto de administración, del front-end, de URL, de usuario, de rol y de la petición.
  • Las etiquetas y los grupos organizan los registros; un bloqueo evita ediciones accidentales y acciones en lote.
  • Un snippet manual nunca se engancha a una petición hasta que su propio código lo llama.

Use la ubicación y la condición más estrechas que describan el requisito. Un hook PHP global debería ser una decisión deliberada, no el hogar por defecto de código copiado de un ticket de soporte.

La biblioteca y los packs

La pestaña Biblioteca contiene sesenta fragmentos revisados para las tareas corrientes que la gente pega de un mensaje de foro: desactivar XML-RPC, quitar los recursos de emoji, añadir un enlace de salto, marcar los enlaces externos como noopener, ajustes de WooCommerce. Añadir uno lo copia en tu propio espacio de trabajo como un registro inactivo — lo lees, y luego lo activas. Nada se instala funcionando.

Seis packs los agrupan por trabajo y no por categoría: lanzamiento de tienda, limpieza de la página de pago, ajuste del catálogo, rendimiento de la tienda, endurecimiento básico y orden en la administración. Un pack es todo o nada — si uno de sus fragmentos no se puede escribir, los ya escritos se deshacen, así que nunca acabas con medio pack y sin manera de saber qué mitad.

Los registros de la biblioteca son copias. Editar uno en tu espacio de trabajo nunca cambia la biblioteca, y una actualización posterior del plugin nunca edita lo que ya has personalizado.

Migrar desde Code Snippets

Abra MevvCode → Migración. El importador lee la tabla de snippets con el prefijo del sitio, conserva cada id de origen y los bytes exactos del código, y crea registros de MevvCode preparados sin cambiar qué plugin está activo.

  1. Ejecute la detección y revise el número de registros.
  2. Importe al conjunto preparado e inactivo.
  3. Analice cada snippet que esté activo en Code Snippets.
  4. Cree una instantánea de reversión de la lista de plugins activos y del manifiesto actual de MevvCode.
  5. Compile una generación completa.
  6. Inicie la conmutación. Code Snippets se apaga solo después de que exista el manifiesto.
  7. Una petición de bucle firmada comprueba el sitio público. Si tiene éxito, se confirma; si falla, la lista de plugins y el manifiesto se restauran automáticamente.

Las tablas de origen no se borran. La reversión manual sigue disponible después de una conmutación correcta y vuelve a habilitar exactamente la lista anterior de plugins activos. En mevvshop.com, el 1 de septiembre de 2026, la conmutación de producción medida conservó 9 registros y 6 estados activos, y produjo 0 discrepancias en nombre, bytes exactos del código, prioridad y estado. Eso es evidencia para esa tienda, no una referencia universal.

Si un snippet importado no supera el análisis, corrija la copia preparada en MevvCode o déjela inactiva. No desactive Code Snippets a mano antes de que la conmutación informe de una generación sana.

Modo seguro y recuperación

Se puede entrar en modo seguro con la constante documentada o con una URL firmada de corta duración generada para un administrador. En modo seguro la ejecución de snippets se detiene mientras el panel sigue disponible para reparar.

  • Un error de análisis de PHP nunca se convierte en la generación actual.
  • Una excepción en tiempo de ejecución desactiva el registro responsable y deja disponibles los demás snippets.
  • La guardia ante errores fatales registra solo la identidad y el estado del registro necesarios para la recuperación — nunca el código fuente ni los secretos de la petición.
  • La generación anterior que se sabe correcta se conserva hasta que la sustituta supera todas las comprobaciones.
define( 'MEVVCODE_SAFE_MODE', true );

Elimine la constante después de haber arreglado o desactivado el registro roto. Dejarla puesta mantiene, a propósito, todos los snippets apagados.

Portabilidad y copias de seguridad

Exporte los registros seleccionados como MevvCode JSON v1 para un viaje de ida y vuelta sin pérdidas, o como PHP legible cuando el destino no deba depender de MevvCode. Las importaciones de Code Snippets y WPCode son adaptadores hacia ese mismo formato de registro canónico.

  • Una exportación en JSON incluye metadatos, condiciones y estado.
  • Una exportación en PHP está pensada para la revisión y la propiedad manual, no para reimportar metadatos ocultos.
  • El cargador must-use puede llevar el comportamiento compilado cuando haya que eliminar el plugin normal.
  • Pro puede empaquetar los snippets seleccionados como un ZIP de plugin de funcionalidad convencional tras validar nombres, rutas y PHP.

Guarde una copia de las exportaciones fuera del servidor antes de una importación grande, una activación en lote o una migración. Las revisiones son un historial de edición, no una copia de seguridad para recuperación ante desastres.

Free y Pro

Free es el gestor local seguro de snippets, completo. Incluye los cinco tipos, el runtime atómico, las ubicaciones y las condiciones básicas, la guardia ante errores fatales, el modo seguro, la migración desde Code Snippets, la importación/exportación, los generadores, las revisiones, las capacidades por rol, el REST de solo lectura y el cargador must-use.

Pro es la capa de colaboración y entrega. Añade condiciones reutilizables y programadas; contexto de dispositivo, referente, geografía, carrito y pedido; historial de auditoría ilimitado; compilaciones CSS/JS y recursos externos; eventos de píxel de comercio electrónico con un monitor en vivo; automatización firmada; exportación de plugin; información agregada local; espacios de trabajo cifrados en la nube; revisión con IA opcional y redacción con IA usando su propia clave de proveedor; y una API compatible con REST/MCP con acciones restringidas.

La nube y la IA se activan por separado. La IA recibe la copia con los secretos ocultos y devuelve un diff de revisión; nunca aplica el diff automáticamente. Las escrituras en la nube usan un HMAC firmado con la clave de licencia, y las revisiones optimistas rechazan las actualizaciones obsoletas.

Redactar un fragmento con IA

Pro puede redactar un fragmento a partir de una descripción de lo que necesita. Es estrictamente de traiga su propia cuenta: usted elige el proveedor —OpenAI o Anthropic— y pega su propia clave de API, y la petición va desde su sitio directamente a ese proveedor. La generación no pasa en absoluto por nuestros servidores. La IA está apagada hasta que usted la enciende.

  • Lo que vuelve se guarda siempre como borrador inactivo. El código generado nunca se aplica, activa ni ejecuta por sí solo.
  • Una propuesta que no pasa la misma barrera de sintaxis PHP que el compilador gratuito aplica antes de activar no se guarda en absoluto, así que un fragmento que tumbaría el sitio nunca llega a su lista.
  • Se pueden redactar los cinco tipos de fragmento: PHP, JavaScript, CSS, HTML y texto.

La revisión con IA y la redacción con IA son funciones distintas y siguen rutas distintas. La revisión envía una copia censurada del código que ya tiene a nuestro propio endpoint con su clave de licencia y devuelve un diff; la redacción habla únicamente con el proveedor que usted eligió, con su propia clave. Ambas son adhesiones separadas, y ninguna aplica nada por sí sola.

Condición de país y SCSS (Pro)

Ejecutar un fragmento solo en algunos países

Pro añade una condición de país al mismo editor de reglas que usa la edición gratuita. El país se resuelve desde la propia dirección de facturación o de envío del cliente de WooCommerce y, a falta de eso, desde una base de datos de geolocalización instalada en tu servidor. Nunca se le pregunta a un servicio de búsqueda de terceros, y no se guarda ninguna dirección de visitante — la pregunta se responde en local o no se responde en absoluto.

Escribir SCSS

La pantalla Estilos compila SCSS o LESS y archiva el resultado como un fragmento CSS nuevo, inactivo, para que lo leas antes de activarlo. Es un rodeo deliberado y no un hook sobre el editor de CSS: lo que se ejecuta en tu sitio sigue siendo CSS plano que puedes abrir.

El compilador está escrito para este único trabajo — variables, anidamiento, el ampersand, y reglas de media, supports, layer y contenedor extraídas hacia fuera. Lo que no implementa lo rechaza con un error: mixin, extend, import, directivas de control e interpolación. Rechazar es la idea. Un compilador que soporta a medias una directiva produce CSS que sutilmente no es lo que escribiste, y te enteras en la parte pública.

Eventos de píxel en vivo

Pro normaliza los eventos de comercio electrónico para Meta, Google y TikTok —ver artículo, añadir al carrito, iniciar pago y compra— y puede mostrarlos llegando mientras usted trabaja, de modo que vea que un evento se dispara realmente y lleva los valores que espera. La captura está desactivada por defecto y hay que activarla deliberadamente.

  • Los eventos se quedan en su propio sitio. En ese camino no hay ningún recolector de terceros.
  • Solo se conservan los últimos doscientos eventos, en un búfer rotatorio. Nada más antiguo sobrevive y no hay ninguna tabla que crezca.
  • No se almacena ninguna dirección IP, cookie, identificador ni cadena de consulta. Cuando una dirección de correo o un número de teléfono forman parte del evento, se cifran antes con SHA-256.

Esto es un monitor para comprobar sus eventos, no una herramienta de analítica. No guarda un historial con el que pudiera construir un informe, ni pretende hacerlo.

Encontrar y activar una licencia Pro

Una licencia comprada queda asociada al correo electrónico del pago y aparece en mevvsoft.com/account. La clave empieza por MEVD; no la pegue nunca en un ticket de soporte, una URL o un log público.

  1. Instale y active el paquete gratuito de MevvCode.
  2. Instale y active el paquete de MevvCode Pro correspondiente.
  3. Inicie sesión en la cuenta creada para el correo del pago y copie la clave de MevvCode Pro.
  4. Abra MevvCode → Licencia, pegue la clave MEVD y actívela.
  5. Confirme que el estado es activo y que el sitio aparece asociado a la licencia en su cuenta.

Si la licencia no está en la cuenta, confirme primero que ha iniciado sesión con el mismo correo usado en el pago. Si está pero la activación informa de un límite de sitios, libere un sitio antiguo desde la cuenta o contacte con soporte sin enviar la clave completa.

Actualizaciones

Las actualizaciones llegan a través del propio WordPress. El plugin pregunta a nuestra tienda si existe una versión más nueva y entrega la respuesta al flujo de actualización propio de WordPress, de modo que una nueva versión aparece en la pantalla de plugins con un botón Actualizar corriente en lugar de esperar a que alguien descargue un zip a mano. En la edición gratuita esa petición lleva solo el nombre del paquete y la versión instalada: ninguna dirección del sitio, ningún correo electrónico, ninguna clave de licencia y ningún inventario de plugins. Como nada en ella le identifica, la confianza descansa en la firma: la respuesta va firmada con nuestra clave Ed25519, y una respuesta sin firma, mal firmada, repetida desde una marca de tiempo antigua o que apunte la descarga a cualquier host que no sea el nuestro se descarta sin tocar el sitio.

Preguntas frecuentes y resolución de problemas

Un snippet se guardó pero no se ejecutó
Compruebe que está activo, que su ubicación coincide con la petición, que cada grupo de condiciones se puede satisfacer y que el modo seguro está desactivado.
El plugin antiguo sigue activo después de la migración
La conmutación no se confirmó. Lea el resultado de la migración; falló una comprobación de análisis, de compilación o de salud por bucle, y la reversión protegió el sitio.
El sitio entró en modo seguro
Abra el panel mediante la URL de recuperación firmada, revise el registro desactivado más recientemente, corríjalo o déjelo desactivado, compile y salga después del modo seguro.
La nube informa de un conflicto
Otro cliente cambió el espacio de trabajo después de la revisión que usted cargó. Compare el registro remoto con su registro local y vuelva a enviarlo usando la nueva revisión base.
La revisión por IA no está disponible
Deben estar activas tanto la licencia Pro como la activación explícita de la IA, y el adaptador del servicio tiene que estar configurado. Los snippets locales siguen funcionando.

Cuando pida soporte, envíe las versiones de los plugins, las versiones de WordPress/PHP, el UUID del registro y el texto exacto del error. Elimine los secretos y los datos de clientes. No envíe una clave de licencia de producción ni el código fuente completo salvo que sea necesario y lo haya revisado.