Waar MevvCode voor is
MevvCode is een thuis voor kleine stukjes sitespecifiek gedrag: een WooCommerce-verzendregel, een afrekenveld, een verificatietag, een kort beheerhulpmiddel, een visuele CSS-correctie of herbruikbare HTML of tekst. Het geeft code een eigenaar, een locatie, voorwaarden, geschiedenis en een bewaakte route naar productie.
- Gebruik het wanneer
- De wijziging kleiner is dan een volledige plug-in, maar belangrijk genoeg om niet in een themabestand te verdwijnen.
- Gebruik het niet wanneer
- De vraag een compleet domeinproduct is met een eigen datamodel, eigen schermen en een eigen releasecyclus; bouw dan een gewone plug-in.
- Eigenaarschap van de code
- Schrijf de code zelf of neem beoordeelde code mee van een ontwikkelaar of bron die u vertrouwt. MevvCode beheert en beschermt code; het maakt een onbekende snippet niet betrouwbaar.
Begin elke overgenomen snippet inactief. Lees haar, verwijder geheimen en sitespecifieke identificatoren en valideer haar daarna vóór activering.
Installatie
Installeer en activeer eerst de gratis plug-in MevvCode. Die vereist WordPress 6.6 of nieuwer en PHP 8.1 of nieuwer. Pro is een aparte begeleidende plug-in en vervangt de gratis runtime nooit.
- Upload
mevvcode-1.1.0.zipen activeer het. - Open MevvCode → Snippets. De opslagmap en de beschermingsbestanden voor de webserver worden automatisch aangemaakt.
- Maak een inactieve snippet aan, kies het type en de locatie en sla haar op.
- Gebruik de voorvertoning en het syntaxisresultaat voordat u haar activeert.
- Installeer
mevvcode-pro-1.1.0.zipalleen als u de Pro-schermen nodig hebt en activeer daarna uw MEVD-licentie onder MevvCode → Licentie.
Houd de gratis plug-in actief wanneer Pro is geïnstalleerd. De uitvoerbare runtime hoort bij Free, zodat een verlopen licentie nooit al gepubliceerd gedrag laat verdwijnen.
Uw eerste snippet
Maak het eerste record inactief aan. Geef het een naam die het doel benoemt en kies PHP en de globale locatie alleen als de code zelf aan een nauw omschreven WordPress- of WooCommerce-hook hangt; sla daarna op.
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;
} );
} );
- Lees het validatieresultaat; een parseerfout moet het record inactief laten.
- Controleer of uw winkel al een verzendmethode met gratis verzending heeft ingesteld.
- Activeer de snippet in staging en test winkelwagens onder en boven de drempel.
- Exporteer een JSON-kopie voordat u het record naar productie brengt.
- Publiceer en controleer daarna de openbare winkelwagen en het MevvCode-health-endpoint.
Het voorbeeld toont de werkwijze, geen universeel verzendbeleid. Belastingen, kortingsbonnen, valuta’s en verzendzones kunnen bepalen welk subtotaal uw bedrijfsregel zou moeten gebruiken.
Turks dashboard en plug-inregel
Free en Pro 1.1.0 leveren bewerkbare PO-, gecompileerde MO- en POT-catalogi mee. Wanneer de sitetaal van WordPress Türkçe (tr_TR) is, laden het dashboard, de migratiestatussen, de validatiefouten en het licentiescherm automatisch in het Turks.
- Het plug-inscherm toont de vertaalde beschrijving.
- Instellingen opent rechtstreeks het instellingentabblad van MevvCode.
- Documentatie opent deze pagina en Ondersteuning opent de contactpagina.
- De afhankelijkheidsafhandeling van WordPress voorkomt dat Free wordt verwijderd zolang MevvCode Pro het nodig heeft.
Laadt het Turkse dashboard niet, controleer dan Instellingen → Algemeen → Sitetaal en werk daarna Free en Pro bij naar dezelfde versie. Hernoem geen bestanden in de talenmap.
Het runtimemodel
Bewerkbare records staan onder wp-content/mevvcode-snippets/records. Bij het opslaan van een actieve wijziging wordt in een tijdelijke map een nieuwe generatie gebouwd, wordt elk PHP-bestand gevalideerd, wordt een manifest geschreven en pas daarna wordt de huidige verwijzing omgezet.
- Records
- De bewerkbare bron, metagegevens, voorwaarden en geschiedenis.
- Generatie
- Onveranderlijke gecompileerde bestanden voor één werkend bevonden toestand.
- Manifest
- De kleine kaart die het verzoekpad leest om de huidige generatie te vinden.
Een mislukte compilatie werkt de site niet gedeeltelijk bij. Het oude manifest blijft actueel, de mislukte bron blijft bewerkbaar en het dashboard toont de fout. Er is geen query per verzoek voor snippetcode.
Bewerk gegenereerde bestanden niet met de hand. Het is wegwerpbare build-uitvoer die bij de volgende geslaagde compilatie wordt vervangen.
Typen, locaties en voorwaarden
PHP loopt via WordPress-hooks. JavaScript, CSS, HTML en tekst worden alleen afgedrukt op de locatie die u uitdrukkelijk kiest: head, body-open, voettekst, vóór of na de inhoud, shortcode, handmatig of eenmalig.
- Binnen één voorwaardengroep geldt EN; groepen worden met OF verbonden.
- Context van beheer, voorkant, URL, gebruiker, rol en verzoek kan worden gecombineerd.
- Tags en groepen ordenen records; een vergrendeling voorkomt onbedoelde bewerkingen en bulkacties.
- Een handmatige snippet haakt pas aan een verzoek-hook zodra uw eigen code haar aanroept.
Gebruik de smalste locatie en voorwaarde die de vraag beschrijven. Een globale PHP-hook hoort een bewuste keuze te zijn, niet de standaardplek voor code uit een supportticket.
De bibliotheek en de pakketten
Het tabblad Bibliotheek bevat zestig beoordeelde snippets voor de gewone klusjes die mensen anders van een forumbericht kopiëren: XML-RPC uitschakelen, de emoji-bestanden laten vallen, een skip-link toevoegen, externe links van noopener voorzien, WooCommerce-aanpassingen. Er een toevoegen kopieert hem als inactief record naar je eigen werkruimte — je leest hem, en dan zet je hem aan. Niets installeert zichzelf draaiend.
Zes pakketten groeperen ze per klus in plaats van per categorie: winkel lanceren, checkout opschonen, catalogus afstellen, winkelprestaties, basisbeveiliging en beheer opruimen. Een pakket is alles-of-niets — als een van de snippets niet kan worden weggeschreven, worden de al weggeschreven snippets teruggedraaid, zodat je nooit met een half pakket blijft zitten zonder te weten welke helft.
Bibliotheekrecords zijn kopieën. Er een bewerken in je werkruimte verandert nooit de bibliotheek, en een latere plugin-update bewerkt nooit wat je al hebt aangepast.
Migreren vanaf Code Snippets
Open MevvCode → Migratie. De importfunctie leest de snippettabel met het siteprefix, behoudt elke bron-id en de exacte codebytes en maakt klaargezette MevvCode-records aan zonder te wijzigen welke plug-in actief is.
- Voer de detectie uit en bekijk het aantal records.
- Importeer in de klaargezette, inactieve set.
- Parseer elke snippet die in Code Snippets actief is.
- Maak een terugdraaimomentopname van de lijst met actieve plug-ins en het huidige MevvCode-manifest.
- Compileer één volledige generatie.
- Start de overschakeling. Code Snippets wordt pas uitgeschakeld nadat het manifest bestaat.
- Een ondertekend loopbackverzoek controleert de openbare site. Slaagt het, dan wordt het vastgelegd; mislukt het, dan worden de plug-inlijst en het manifest automatisch hersteld.
De brontabellen worden niet verwijderd. Handmatig terugdraaien blijft ook na een geslaagde overschakeling beschikbaar en zet exact de vorige lijst met actieve plug-ins weer aan. Op mevvshop.com heeft de gemeten productieoverschakeling op 1 september 2026 9 records en 6 actieve statussen behouden en 0 afwijkingen opgeleverd op naam, exacte codebytes, prioriteit en status. Dat is bewijs voor die winkel, geen universele maatstaf.
Komt een geïmporteerde snippet niet door de parsering, herstel dan de klaargezette MevvCode-kopie of laat haar inactief. Schakel Code Snippets niet met de hand uit voordat de overschakeling een gezonde generatie meldt.
Veilige modus en herstel
De veilige modus kan worden ingeschakeld met de gedocumenteerde constante of met een kortlevende ondertekende URL die voor een beheerder wordt gegenereerd. In de veilige modus stopt de uitvoering van snippets, terwijl het dashboard beschikbaar blijft om te repareren.
- Een PHP-parseerfout wordt nooit de huidige generatie.
- Een runtime-uitzondering schakelt het verantwoordelijke record uit en laat de overige snippets beschikbaar.
- De bescherming tegen fatale fouten legt alleen de identiteit en status van het record vast die nodig zijn voor herstel — nooit de broncode of geheimen uit het verzoek.
- De vorige, werkend bevonden generatie blijft behouden tot de vervanger alle controles doorstaat.
define( 'MEVVCODE_SAFE_MODE', true );
Verwijder de constante nadat het defecte record is hersteld of uitgeschakeld. Haar bewust laten staan houdt alle snippets uit.
Overdraagbaarheid en back-ups
Exporteer geselecteerde records als MevvCode JSON v1 voor een verliesvrije heen-en-terugweg, of als leesbare PHP wanneer de bestemming niet van MevvCode afhankelijk mag zijn. Imports uit Code Snippets en WPCode zijn adapters naar hetzelfde canonieke recordformaat.
- Een JSON-export bevat metagegevens, voorwaarden en status.
- Een PHP-export is bedoeld voor beoordeling en handmatig eigenaarschap, niet om verborgen metagegevens opnieuw te importeren.
- De must-use-loader kan gecompileerd gedrag blijven dragen wanneer de gewone plug-in verwijderd moet worden.
- Pro kan geselecteerde snippets als een gewone functionaliteitsplug-in-ZIP verpakken nadat namen, paden en PHP zijn gevalideerd.
Bewaar een kopie van de exports buiten de site voordat u een grote import, bulkactivering of migratie uitvoert. Revisies zijn een bewerkingsgeschiedenis, geen back-up voor noodgevallen.
Free en Pro
Free is de complete, veilige lokale snippetbeheerder. Die bevat alle vijf typen, de atomaire runtime, locaties en basisvoorwaarden, de bescherming tegen fatale fouten, de veilige modus, de migratie vanaf Code Snippets, import/export, generatoren, revisies, rolrechten, alleen-lezen REST en de must-use-loader.
Pro is de laag voor samenwerking en levering. Het voegt herbruikbare en geplande voorwaarden toe; apparaat-, verwijzer-, geo-, winkelwagen- en bestelcontext; onbeperkte auditgeschiedenis; CSS/JS-builds en externe assets; e-commerce-pixelgebeurtenissen met een livemonitor; ondertekende automatisering; plugin-export; lokale geaggregeerde inzichten; versleutelde cloudwerkruimten; optionele AI-review en AI-concepten met uw eigen providersleutel; en een REST/MCP-compatibele API met beperkte acties.
Cloud en AI zijn afzonderlijke opt-ins. De AI krijgt de geredigeerde kopie en levert een reviewdiff terug; die diff wordt nooit automatisch toegepast. Schrijfacties naar de cloud gebruiken een HMAC die met de licentiesleutel is ondertekend, en optimistische revisies wijzen verouderde updates af.
Een snippet opstellen met AI
Pro kan een snippet opstellen op basis van een beschrijving van wat u nodig hebt. Het is strikt breng-uw-eigen: u kiest de provider — OpenAI of Anthropic — en plakt uw eigen API-sleutel, en het verzoek gaat vanaf uw site rechtstreeks naar die provider. Het genereren loopt helemaal niet via onze servers. AI staat uit totdat u het aanzet.
- Wat terugkomt wordt altijd opgeslagen als inactief concept. Gegenereerde code wordt nooit vanzelf toegepast, geactiveerd of uitgevoerd.
- Een voorstel dat niet door dezelfde PHP-syntaxcontrole komt die de gratis compiler vóór activering toepast, wordt helemaal niet opgeslagen — een snippet dat de site fataal zou laten crashen bereikt uw lijst dus nooit.
- Alle vijf snippettypes kunnen worden opgesteld: PHP, JavaScript, CSS, HTML en tekst.
AI-review en AI-concept zijn verschillende functies en volgen verschillende routes. De review stuurt een geschoonde kopie van code die u al hebt met uw licentiesleutel naar ons eigen eindpunt en geeft een diff terug; het opstellen praat alleen met de door u gekozen provider, met uw eigen sleutel. Beide worden apart aangezet, en geen van beide past uit zichzelf iets toe.
Landvoorwaarde en SCSS (Pro)
Een snippet alleen in bepaalde landen draaien
Pro voegt een landvoorwaarde toe aan dezelfde regeleditor die de gratis editie gebruikt. Het land wordt bepaald aan de hand van het eigen factuur- of verzendadres van de WooCommerce-klant, en bij gebreke daarvan uit een geolocatiedatabase die op je server is geïnstalleerd. Het wordt nooit opgevraagd bij een opzoekdienst van derden, en er wordt geen bezoekersadres opgeslagen — de vraag wordt lokaal beantwoord of helemaal niet.
SCSS schrijven
Het scherm Stijlen compileert SCSS of LESS en legt het resultaat vast als een nieuwe CSS-snippet, inactief, om te lezen voordat je hem aanzet. Het is een bewuste omweg in plaats van een haakje aan de CSS-editor: wat op je site draait, blijft gewone CSS die je kunt openen.
De compiler is voor deze ene taak geschreven — variabelen, nesting, het ampersand-teken, en media-, supports-, layer- en containerregels naar buiten gehaald. Wat hij niet implementeert, weigert hij met een foutmelding: mixins, extends, imports, control directives en interpolatie. Weigeren is precies de bedoeling. Een compiler die een directive half ondersteunt, produceert CSS die subtiel niet is wat je hebt geschreven, en dat ontdek je aan de voorkant.
Live pixelgebeurtenissen
Pro normaliseert e-commercegebeurtenissen voor Meta, Google en TikTok — item bekijken, aan winkelwagen toevoegen, afrekenen starten en aankoop — en kan ze laten zien terwijl u werkt, zodat u ziet dat een gebeurtenis daadwerkelijk afgaat en de verwachte waarden draagt. Vastleggen staat standaard uit en moet bewust worden ingeschakeld.
- De gebeurtenissen blijven op uw eigen site. Er zit nergens in dat pad een verzamelaar van derden.
- Alleen de laatste tweehonderd gebeurtenissen worden bewaard, in een roterende buffer. Ouder blijft niets bewaard en er is geen tabel die groeit.
- Er wordt geen IP-adres, cookie, identificator of query-string opgeslagen. Waar een e-mailadres of telefoonnummer bij de gebeurtenis hoort, wordt dat eerst met SHA-256 gehasht.
Dit is een monitor om uw gebeurtenissen te controleren, geen analytics. Het bewaart geen geschiedenis waaruit u een rapport zou kunnen bouwen, en dat is ook niet de bedoeling.
Een Pro-licentie vinden en activeren
Een gekochte licentie is gekoppeld aan het e-mailadres van de bestelling en verschijnt op mevvsoft.com/account. De sleutel begint met MEVD; plak hem nooit in een supportticket, een URL of een openbaar logboek.
- Installeer en activeer het gratis MevvCode-pakket.
- Installeer en activeer het bijbehorende MevvCode Pro-pakket.
- Meld u aan met het account dat is aangemaakt voor het e-mailadres van de bestelling en kopieer de MevvCode Pro-sleutel.
- Open MevvCode → Licentie, plak de MEVD-sleutel en activeer die.
- Controleer of de status actief is en of de site bij de licentie in uw account verschijnt.
Ontbreekt de licentie in het account, controleer dan eerst of u zich hebt aangemeld met hetzelfde e-mailadres als bij de bestelling. Staat ze er wel, maar meldt de activering een sitelimiet, geef dan in het account een oude site vrij of neem contact op met de ondersteuning zonder de volledige sleutel mee te sturen.
Updates
Updates komen via WordPress zelf. De plugin vraagt onze winkel of er een nieuwere versie bestaat en geeft het antwoord door aan WordPress’ eigen updatestroom, zodat een nieuwe versie op het pluginscherm verschijnt met een gewone Bijwerken-knop in plaats van te wachten tot iemand handmatig een zip ophaalt. In de gratis editie draagt dat verzoek alleen de pakketnaam en de geïnstalleerde versie — geen siteadres, geen e-mailadres, geen licentiesleutel en geen plugin-inventaris. Omdat niets erin u identificeert, rust het vertrouwen op de handtekening: het antwoord is ondertekend met onze Ed25519-sleutel, en een antwoord dat niet is ondertekend, verkeerd is ondertekend, opnieuw is afgespeeld vanaf een oud tijdstempel of de download naar een andere host dan de onze wijst, wordt weggegooid zonder de site aan te raken.
Veelgestelde vragen en probleemoplossing
- Een snippet is opgeslagen maar liep niet
- Controleer of ze actief is, of haar locatie bij het verzoek past, of elke voorwaardengroep vervuld kan worden en of de veilige modus uit staat.
- De oude plug-in is na de migratie nog steeds actief
- De overschakeling is niet vastgelegd. Lees het migratieresultaat; een parseer-, compilatie- of loopbackgezondheidscontrole is mislukt en het terugdraaien heeft de site beschermd.
- De site is in de veilige modus gegaan
- Open het dashboard via de ondertekende herstel-URL, bekijk het meest recent uitgeschakelde record, herstel het of laat het uitgeschakeld, compileer en verlaat daarna de veilige modus.
- De cloud meldt een conflict
- Een andere client heeft de werkruimte gewijzigd na de revisie die u had geladen. Vergelijk het externe record met uw lokale record en verstuur het opnieuw op basis van de nieuwe basisrevisie.
- AI-review is niet beschikbaar
- Zowel de Pro-licentie als de uitdrukkelijke AI-opt-in moeten actief zijn en de serviceadapter moet zijn ingesteld. Lokale snippets blijven werken.
Stuur bij een vraag aan de ondersteuning de plug-inversies, de WordPress-/PHP-versies, de record-UUID en de exacte fouttekst mee. Verwijder geheimen en klantgegevens. Stuur geen productielicentiesleutel en niet de volledige broncode, tenzij dat nodig is en u die hebt nagekeken.