Documentazione di MevvCode

Esegua piccole porzioni di codice con un vero confine di sicurezza.

MevvCode gestisce snippet PHP, JavaScript, CSS, HTML e testo senza interrogare un record modificabile del database a ogni richiesta. Questa guida copre l’installazione, il modello di runtime, la migrazione da Code Snippets, la modalità sicura, la portabilità e l’esatto confine tra Free e Pro.

A che cosa serve MevvCode

MevvCode è una casa per piccoli pezzi di comportamento specifico del sito: una regola di spedizione WooCommerce, un campo del checkout, un tag di verifica, un breve strumento di amministrazione, una correzione visiva in CSS oppure HTML/testo riutilizzabile. Dà al codice un proprietario, una posizione, delle condizioni, una cronologia e una via protetta verso la produzione.

Lo usi quando
La modifica è più piccola di un plugin completo, ma abbastanza importante da non dover sparire dentro un file del tema.
Non lo usi quando
Il requisito è un prodotto di dominio completo, con un proprio modello di dati, schermate e ciclo di rilascio; in quel caso realizzi un plugin convenzionale.
Proprietà del codice
Scriva il codice Lei stesso oppure porti codice revisionato da uno sviluppatore o da una fonte di cui si fida. MevvCode gestisce e protegge il codice; non rende affidabile uno snippet sconosciuto.

Inizi ogni snippet preso in prestito da inattivo. Lo legga, rimuova i segreti e gli identificatori specifici del sito, poi lo convalidi prima di attivarlo.

Installazione

Installi e attivi prima il plugin gratuito MevvCode. Richiede WordPress 6.6 o successivo e PHP 8.1 o successivo. Pro è un plugin complementare separato e non sostituisce mai il runtime gratuito.

  1. Carichi mevvcode-1.1.0.zip e lo attivi.
  2. Apra MevvCode → Snippet. La cartella di archiviazione e i suoi file di protezione per il web server vengono creati automaticamente.
  3. Crei uno snippet inattivo, scelga il tipo e la posizione, poi lo salvi.
  4. Usi l’anteprima e il risultato della sintassi prima di attivarlo.
  5. Installi mevvcode-pro-1.1.0.zip solo se Le servono le schermate Pro, poi attivi la Sua licenza MEVD in MevvCode → Licenza.

Tenga attivo il plugin gratuito quando Pro è installato. Il runtime eseguibile appartiene a Free, così una licenza scaduta non fa mai sparire un comportamento già pubblicato.

Il Suo primo snippet

Crei il primo record inattivo. Gli dia un nome che descriva lo scopo, selezioni PHP e la posizione globale solo se il codice stesso si aggancia a un hook ristretto di WordPress o WooCommerce, poi salvi.

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. Legga il risultato della convalida; un errore di analisi deve lasciare il record inattivo.
  2. Confermi che il Suo negozio ha già configurato un metodo di spedizione gratuita.
  3. Attivi lo snippet in staging e provi carrelli sotto e sopra la soglia.
  4. Esporti una copia JSON prima di portare il record in produzione.
  5. Pubblichi, poi verifichi il carrello pubblico e l’endpoint di integrità di MevvCode.

L’esempio mostra il flusso di lavoro, non una politica di spedizione universale. Imposte, coupon, valute e zone di spedizione possono cambiare quale subtotale deve usare la Sua regola di business.

Bacheca in turco e riga del plugin

Free e Pro 1.1.0 includono cataloghi PO modificabili, MO compilati e POT. Quando la lingua del sito WordPress è Türkçe (tr_TR), la bacheca, gli stati della migrazione, gli errori di convalida e la schermata della licenza si caricano automaticamente in turco.

  • La schermata Plugin mostra la descrizione tradotta.
  • Impostazioni apre direttamente la scheda delle impostazioni di MevvCode.
  • Documentazione apre questa pagina e Supporto apre la pagina dei contatti.
  • La gestione delle dipendenze di WordPress impedisce di rimuovere Free finché MevvCode Pro lo richiede.

Se la bacheca in turco non si carica, controlli Impostazioni → Generali → Lingua del sito, poi aggiorni Free e Pro alla stessa versione. Non rinomini i file nella cartella delle lingue.

Il modello di runtime

I record modificabili risiedono in wp-content/mevvcode-snippets/records. Salvare una modifica attiva costruisce una nuova generazione in una cartella temporanea, convalida ogni file PHP, scrive un manifest e solo allora sposta il puntatore corrente.

Record
Il sorgente modificabile, i metadati, le condizioni e la cronologia.
Generazione
File compilati immutabili per uno stato noto come valido.
Manifest
La piccola mappa che il percorso della richiesta legge per trovare la generazione corrente.

Un errore di compilazione non aggiorna il sito a metà. Il vecchio manifest resta quello corrente, il sorgente fallito rimane modificabile e la bacheca mostra l’errore. Non c’è alcuna query per richiesta per il codice degli snippet.

Non modifichi a mano i file generati. Sono output di build usa e getta e verranno sostituiti dalla prossima compilazione riuscita.

Tipi, posizioni e condizioni

Il PHP viene eseguito tramite gli hook di WordPress. JavaScript, CSS, HTML e testo vengono stampati solo nella posizione esplicita che seleziona: head, apertura del body, footer, prima o dopo il contenuto, shortcode, manuale o una sola volta.

  • All’interno di un gruppo di condizioni vale E; i gruppi si uniscono con O.
  • Si possono combinare contesto di amministrazione, front-end, URL, utente, ruolo e richiesta.
  • Tag e gruppi organizzano i record; un blocco impedisce modifiche accidentali e azioni di massa.
  • Uno snippet manuale non si aggancia mai a un hook di richiesta finché non è il Suo codice a chiamarlo.

Usi la posizione e la condizione più ristrette che descrivono il requisito. Un hook PHP globale dovrebbe essere una scelta deliberata, non la casa predefinita del codice copiato da un ticket di assistenza.

La libreria e i pack

La scheda Libreria contiene sessanta snippet verificati per i lavori ordinari che altrimenti si copiano da un post di forum: disattivare XML-RPC, eliminare le risorse emoji, aggiungere uno skip link, contrassegnare i link esterni con noopener, modifiche a WooCommerce. Aggiungerne uno lo copia nel tuo spazio di lavoro come scheda inattiva — la leggi, poi la attivi. Nulla si installa da solo in esecuzione.

Sei pack li raggruppano per compito anziché per categoria: avvio negozio, pulizia del checkout, messa a punto del catalogo, prestazioni del negozio, indurimento di base e ordine dell’amministrazione. Un pack è tutto o niente — se uno dei suoi snippet non può essere scritto, quelli già scritti vengono annullati, così non ti ritrovi mai con metà pack e nessun modo per sapere quale metà.

Le schede della libreria sono copie. Modificarne una nel tuo spazio di lavoro non cambia mai la libreria, e un successivo aggiornamento del plugin non modifica mai ciò che hai già personalizzato.

Migrare da Code Snippets

Apra MevvCode → Migrazione. L’importatore legge la tabella degli snippet con il prefisso del sito, conserva ogni id di origine e i byte esatti del codice, e crea record MevvCode preparati senza cambiare quale plugin è attivo.

  1. Esegua il rilevamento e controlli il numero di record.
  2. Importi nell’insieme preparato e inattivo.
  3. Analizzi ogni snippet attivo in Code Snippets.
  4. Crei un’istantanea di rollback dell’elenco dei plugin attivi e del manifest MevvCode corrente.
  5. Compili una generazione completa.
  6. Avvii il cutover. Code Snippets viene spento solo dopo che il manifest esiste.
  7. Una richiesta di loopback firmata verifica il sito pubblico. In caso di successo si conferma; in caso di errore l’elenco dei plugin e il manifest vengono ripristinati automaticamente.

Le tabelle di origine non vengono eliminate. Il rollback manuale resta disponibile dopo un cutover riuscito e riabilita esattamente il precedente elenco dei plugin attivi. Su mevvshop.com, il 1° settembre 2026, il cutover di produzione misurato ha conservato 9 record e 6 stati attivi e ha prodotto 0 discrepanze su nome, byte esatti del codice, priorità e stato. È una prova per quel negozio, non un parametro universale.

Se uno snippet importato non supera l’analisi, corregga la copia preparata in MevvCode oppure la lasci inattiva. Non disattivi Code Snippets a mano prima che il cutover segnali una generazione sana.

Modalità sicura e ripristino

Si può entrare in modalità sicura con la costante documentata o con un URL firmato di breve durata generato per un amministratore. In modalità sicura l’esecuzione degli snippet si ferma, mentre la bacheca resta disponibile per la riparazione.

  • Un errore di analisi PHP non diventa mai la generazione corrente.
  • Un’eccezione a runtime disattiva il record responsabile e lascia disponibili gli altri snippet.
  • La protezione dagli errori fatali registra solo l’identità e lo stato del record necessari al ripristino — mai il codice sorgente né i segreti della richiesta.
  • La generazione precedente nota come valida viene conservata finché quella sostitutiva non supera tutti i controlli.
define( 'MEVVCODE_SAFE_MODE', true );

Rimuova la costante dopo aver corretto o disattivato il record guasto. Lasciarla al suo posto tiene volutamente spenti tutti gli snippet.

Portabilità e backup

Esporti i record selezionati come MevvCode JSON v1 per un viaggio di andata e ritorno senza perdite, oppure come PHP leggibile quando la destinazione non deve dipendere da MevvCode. Le importazioni da Code Snippets e WPCode sono adattatori verso lo stesso formato canonico di record.

  • Un’esportazione JSON include metadati, condizioni e stato.
  • Un’esportazione PHP è pensata per la revisione e la gestione manuale, non per reimportare metadati nascosti.
  • Il loader must-use può trasportare il comportamento compilato quando il plugin normale deve essere rimosso.
  • Pro può impacchettare gli snippet selezionati come un normale functionality plugin in ZIP dopo aver convalidato nomi, percorsi e PHP.

Conservi una copia delle esportazioni fuori dal server prima di una grande importazione, di un’attivazione di massa o di una migrazione. Le revisioni sono una cronologia di modifica, non un backup di disaster recovery.

Free e Pro

Free è il gestore locale sicuro di snippet, al completo. Comprende tutti e cinque i tipi, il runtime atomico, le posizioni e le condizioni di base, la protezione dagli errori fatali, la modalità sicura, la migrazione da Code Snippets, l’importazione/esportazione, i generatori, le revisioni, le capacità per ruolo, il REST in sola lettura e il loader must-use.

Pro è il livello di collaborazione e consegna. Aggiunge condizioni riutilizzabili e pianificate; contesto di dispositivo, referrer, geografia, carrello e ordine; cronologia di audit illimitata; build CSS/JS e asset esterni; eventi pixel per l’e-commerce con un monitor dal vivo; automazione firmata; esportazione del plugin; analisi aggregate locali; spazi di lavoro cloud cifrati; revisione con IA opzionale e stesura con IA usando la vostra chiave di provider; e un’API compatibile REST/MCP con azioni vincolate.

Cloud e IA si abilitano separatamente. L’IA riceve la copia oscurata e restituisce un diff di revisione; non applica mai il diff automaticamente. Le scritture cloud usano un HMAC firmato con la chiave di licenza e le revisioni ottimistiche rifiutano gli aggiornamenti obsoleti.

Abbozzare uno snippet con l’IA

Pro può abbozzare uno snippet da una descrizione di ciò che vi serve. È rigorosamente con il vostro account: scegliete il provider — OpenAI o Anthropic — e incollate la vostra chiave API, e la richiesta va dal vostro sito direttamente a quel provider. La generazione non passa affatto dai nostri server. L’IA è spenta finché non la accendete.

  • Quel che torna viene sempre salvato come bozza inattiva. Il codice generato non viene mai applicato, attivato o eseguito da sé.
  • Una proposta che non supera lo stesso controllo di sintassi PHP che il compilatore gratuito applica prima dell’attivazione non viene salvata affatto, così uno snippet che manderebbe il sito in errore fatale non raggiunge mai il vostro elenco.
  • Si possono abbozzare tutti e cinque i tipi di snippet: PHP, JavaScript, CSS, HTML e testo.

La revisione con IA e la stesura con IA sono funzioni diverse e percorrono strade diverse. La revisione invia una copia oscurata del codice che avete già al nostro endpoint con la vostra chiave di licenza e restituisce un diff; la stesura parla solo con il provider che avete scelto, con la vostra chiave. Entrambe si attivano separatamente e nessuna delle due applica nulla da sé.

Condizione di paese e SCSS (Pro)

Eseguire uno snippet solo in alcuni paesi

Pro aggiunge una condizione di paese allo stesso editor di regole usato dall’edizione gratuita. Il paese viene risolto dall’indirizzo di fatturazione o spedizione del cliente WooCommerce, e in mancanza di quello da un database di geolocalizzazione installato sul tuo server. Non viene mai richiesto a un servizio di lookup di terze parti, e nessun indirizzo del visitatore viene memorizzato — la domanda viene risolta in locale oppure non viene risolta affatto.

Scrivere SCSS

La schermata Stili compila SCSS o LESS e archivia il risultato come nuovo snippet CSS, inattivo, da leggere prima di attivarlo. È una deviazione deliberata anziché un aggancio all’editor CSS: ciò che gira sul tuo sito resta CSS semplice che puoi aprire.

Il compilatore è scritto per questo unico compito — variabili, annidamento, la e commerciale, e regole media, supports, layer e container fatte emergere. Ciò che non implementa lo rifiuta con un errore: mixin, extend, import, direttive di controllo e interpolazione. Rifiutare è il punto. Un compilatore che supporta a metà una direttiva produce CSS che è sottilmente diverso da ciò che hai scritto, e lo scopri sul front-end.

Eventi pixel dal vivo

Pro normalizza gli eventi e-commerce per Meta, Google e TikTok — visualizzazione articolo, aggiunta al carrello, inizio checkout e acquisto — e può mostrarli arrivare mentre lavorate, così vedete che un evento scatta davvero e porta i valori che vi aspettate. La cattura è disattivata per impostazione predefinita e va accesa deliberatamente.

  • Gli eventi restano sul vostro sito. In quel percorso non c’è alcun raccoglitore di terze parti.
  • Vengono conservati solo gli ultimi duecento eventi, in un buffer circolare. Nulla di più vecchio sopravvive e non c’è alcuna tabella destinata a crescere.
  • Non viene memorizzato alcun indirizzo IP, cookie, identificativo o query string. Quando un indirizzo e-mail o un numero di telefono appartengono all’evento, vengono prima sottoposti a hash SHA-256.

Questo è un monitor per verificare i vostri eventi, non uno strumento di analisi. Non conserva alcuno storico da cui costruire un report, e non intende farlo.

Trovare e attivare una licenza Pro

Una licenza acquistata è associata all’e-mail del checkout e compare su mevvsoft.com/account. La chiave inizia con MEVD; non la incolli mai in un ticket di assistenza, in un URL o in un log pubblico.

  1. Installi e attivi il pacchetto gratuito MevvCode.
  2. Installi e attivi il pacchetto MevvCode Pro corrispondente.
  3. Acceda all’account creato per l’e-mail del checkout e copi la chiave di MevvCode Pro.
  4. Apra MevvCode → Licenza, incolli la chiave MEVD e la attivi.
  5. Confermi che lo stato è attivo e che il sito compare associato alla licenza nel Suo account.

Se la licenza non è presente nell’account, confermi prima di aver effettuato l’accesso con la stessa e-mail usata al checkout. Se è presente ma l’attivazione segnala un limite di siti, liberi un vecchio sito dall’account oppure contatti l’assistenza senza inviare la chiave completa.

Aggiornamenti

Gli aggiornamenti arrivano tramite WordPress stesso. Il plugin chiede al nostro store se esiste una versione più recente e consegna la risposta al flusso di aggiornamento proprio di WordPress, così una nuova versione compare nella schermata dei plugin con un normale pulsante Aggiorna invece di attendere che qualcuno scarichi uno zip a mano. Nell’edizione gratuita quella richiesta porta solo il nome del pacchetto e la versione installata: nessun indirizzo del sito, nessun indirizzo e-mail, nessuna chiave di licenza e nessun inventario di plugin. Poiché nulla in essa vi identifica, la fiducia poggia sulla firma: la risposta è firmata con la nostra chiave Ed25519, e una risposta non firmata, firmata male, riprodotta da un timestamp vecchio o che punti il download a un host diverso dal nostro viene scartata senza toccare il sito.

Domande frequenti e risoluzione dei problemi

Uno snippet è stato salvato ma non è stato eseguito
Verifichi che sia attivo, che la sua posizione corrisponda alla richiesta, che ogni gruppo di condizioni possa essere soddisfatto e che la modalità sicura sia disattivata.
Il vecchio plugin è ancora attivo dopo la migrazione
Il cutover non è stato confermato. Legga il risultato della migrazione; un controllo di analisi, di compilazione o di integrità in loopback è fallito e il rollback ha protetto il sito.
Il sito è entrato in modalità sicura
Apra la bacheca tramite l’URL di ripristino firmato, esamini il record disattivato più di recente, lo corregga o lo lasci disattivato, compili e poi esca dalla modalità sicura.
Il cloud segnala un conflitto
Un altro client ha modificato lo spazio di lavoro dopo la revisione che ha caricato. Confronti il record remoto con il Suo record locale e lo invii di nuovo usando la nuova revisione di base.
La revisione con IA non è disponibile
Devono essere attive sia la licenza Pro sia l’adesione esplicita all’IA, e l’adattatore del servizio deve essere configurato. Gli snippet locali continuano a funzionare.

Quando chiede assistenza, invii le versioni dei plugin, le versioni di WordPress/PHP, l’UUID del record e il testo esatto dell’errore. Rimuova i segreti e i dati dei clienti. Non invii una chiave di licenza di produzione né il sorgente completo, a meno che non sia necessario e lo abbia revisionato.