Dokumentacja MevvCode

Uruchamianie małych fragmentów kodu z prawdziwą granicą bezpieczeństwa.

Wtyczka MevvCode zarządza fragmentami kodu PHP, JavaScript, CSS, HTML i tekstu, nie odpytując przy każdym żądaniu edytowalnego rekordu w bazie danych. Ten przewodnik obejmuje instalację, model środowiska wykonawczego, migrację z wtyczki Code Snippets, tryb bezpieczny, przenośność oraz dokładną granicę między wersją Free a Pro.

Do czego służy MevvCode

Wtyczka MevvCode jest domem dla drobnych zachowań właściwych konkretnej witrynie: reguły wysyłki WooCommerce, pola przy zamówieniu, tagu weryfikacyjnego, krótkiego narzędzia w panelu, wizualnej poprawki CSS albo wielokrotnie używanego kodu HTML lub tekstu. Nadaje kodowi właściciela, miejsce, warunki, historię i strzeżoną drogę na produkcję.

Kiedy jej używać
Zmiana jest mniejsza niż pełna wtyczka, ale na tyle istotna, że nie powinna zniknąć wewnątrz pliku motywu.
Kiedy jej nie używać
Wymaganiem jest kompletny produkt dziedzinowy z własnym modelem danych, ekranami i cyklem wydawniczym; w takim wypadku należy napisać zwykłą wtyczkę.
Własność kodu
Kod napisz sam albo weź sprawdzony kod od programisty lub źródła, któremu ufasz. Wtyczka MevvCode zarządza kodem i chroni go; nie sprawia, że nieznany fragment kodu staje się godny zaufania.

Każdy zapożyczony fragment kodu zaczynaj jako wyłączony. Przeczytaj go, usuń sekrety i identyfikatory właściwe danej witrynie, a dopiero potem sprawdź go przed włączeniem.

Instalacja

Najpierw zainstaluj i włącz darmową wtyczkę MevvCode. Wymaga WordPress 6.6 lub nowszego oraz PHP 8.1 lub nowszego. Pro jest osobną wtyczką towarzyszącą i nigdy nie zastępuje darmowego środowiska wykonawczego.

  1. Wgraj mevvcode-1.1.0.zip i włącz go.
  2. Otwórz MevvCode → Fragmenty kodu. Katalog składowania i pliki chroniące go na serwerze WWW tworzone są automatycznie.
  3. Utwórz wyłączony fragment kodu, wybierz jego typ i miejsce, a następnie zapisz.
  4. Przed włączeniem skorzystaj z podglądu i wyniku sprawdzenia składni.
  5. Wtyczkę mevvcode-pro-1.1.0.zip instaluj tylko wtedy, gdy potrzebujesz ekranów Pro, a następnie aktywuj licencję MEVD w MevvCode → Licencja.

Gdy zainstalowane jest Pro, darmową wtyczkę zostaw włączoną. Wykonywalne środowisko należy do wersji darmowej, więc wygasła licencja nigdy nie sprawi, że opublikowane już zachowanie zniknie.

Pierwszy fragment kodu

Pierwszy rekord utwórz jako wyłączony. Nadaj mu nazwę mówiącą o przeznaczeniu, wybierz PHP i miejsce globalne tylko wtedy, gdy sam kod podpina się do wąskiego haka WordPress lub WooCommerce, i zapisz.

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. Przeczytaj wynik walidacji; błąd parsowania musi zostawić rekord wyłączony.
  2. Upewnij się, że sklep ma już skonfigurowaną metodę darmowej wysyłki.
  3. Włącz fragment kodu w środowisku testowym i sprawdź koszyki poniżej i powyżej progu.
  4. Przed przeniesieniem rekordu na produkcję wyeksportuj kopię w formacie JSON.
  5. Opublikuj, a następnie sprawdź publiczny koszyk oraz punkt końcowy stanu MevvCode.

Przykład pokazuje sposób pracy, a nie uniwersalną politykę wysyłki. Podatki, kupony, waluty i strefy wysyłki mogą zmienić to, którą sumę częściową powinna brać twoja reguła biznesowa.

Turecki panel administracyjny i wiersz wtyczki

Wersja darmowa i Pro 1.1.0 zawierają edytowalne katalogi PO, skompilowane MO oraz POT. Gdy językiem witryny WordPress jest Türkçe (tr_TR), panel administracyjny, stany migracji, błędy walidacji i ekran licencji wczytują się po turecku automatycznie.

  • Ekran wtyczek pokazuje przetłumaczony opis.
  • Ustawienia otwierają bezpośrednio kartę ustawień MevvCode.
  • Dokumentacja otwiera tę stronę, a Wsparcie — stronę kontaktu.
  • Obsługa zależności w WordPressie nie pozwala usunąć wersji darmowej, dopóki wymaga jej MevvCode Pro.

Jeżeli turecki panel się nie wczytuje, sprawdź Ustawienia → Ogólne → Język witryny, a następnie zaktualizuj wersję darmową i Pro do tej samej wersji. Nie zmieniaj nazw plików w katalogu languages.

Model środowiska wykonawczego

Edytowalne rekordy leżą w wp-content/mevvcode-snippets/records. Zapisanie aktywnej zmiany buduje nową generację w katalogu tymczasowym, sprawdza każdy plik PHP, zapisuje manifest i dopiero wtedy przestawia bieżący wskaźnik.

Rekordy
Edytowalny kod źródłowy, metadane, warunki i historia.
Generacja
Niezmienne, skompilowane pliki dla jednego znanego dobrego stanu.
Manifest
Mała mapa, którą ścieżka żądania czyta, aby odnaleźć bieżącą generację.

Nieudana kompilacja nie aktualizuje witryny połowicznie. Stary manifest pozostaje bieżący, wadliwy kod źródłowy zostaje edytowalny, a panel pokazuje błąd. Nie ma zapytania o kod fragmentu przy każdym żądaniu.

Nie edytuj wygenerowanych plików ręcznie. To jednorazowy wynik budowania, który zostanie zastąpiony przy następnej udanej kompilacji.

Typy, miejsca i warunki

PHP działa poprzez haki WordPress. JavaScript, CSS, HTML i tekst wypisywane są wyłącznie w miejscu, które wskażesz wprost: head, początek body, stopka, przed treścią lub po niej, shortcode, ręcznie albo jeden raz.

  • Wewnątrz jednej grupy warunków obowiązuje AND; grupy łączy się przez OR.
  • Konteksty panelu administracyjnego, frontu witryny, adresu URL, użytkownika, roli i żądania można łączyć.
  • Tagi i grupy porządkują rekordy; blokada zapobiega przypadkowej edycji i działaniom zbiorczym.
  • Fragment kodu uruchamiany ręcznie nie dołącza do żadnego haka żądania, dopóki nie wywoła go twój własny kod.

Wybieraj najwęższe miejsce i najwęższy warunek, jaki opisuje wymaganie. Globalny hak PHP powinien być świadomym wyborem, a nie domyślnym domem dla kodu skopiowanego z odpowiedzi wsparcia.

Biblioteka i pakiety

Zakładka Biblioteka zawiera sześćdziesiąt sprawdzonych fragmentów kodu dla zwykłych zadań, które ludzie zwykle wklejają z postu na forum: wyłączanie XML-RPC, odrzucanie zasobów emoji, dodawanie linku pomijającego, oznaczanie linków zewnętrznych jako noopener, poprawki WooCommerce. Dodanie jednego kopiuje go do twojej przestrzeni roboczej jako rekord nieaktywny — czytasz go, a potem włączasz. Nic nie instaluje się samo w stanie działania.

Sześć pakietów grupuje je według zadania, a nie kategorii: start sklepu, porządkowanie kasy, dostrajanie katalogu, wydajność sklepu, podstawowe zabezpieczenia i porządki administracyjne. Pakiet jest na zasadzie wszystko-albo-nic — jeśli jednego z jego fragmentów nie da się zapisać, te już zapisane są wycofywane, więc nigdy nie zostajesz z połową pakietu i bez sposobu, by stwierdzić, która to połowa.

Rekordy biblioteki są kopiami. Edytowanie jednego w twojej przestrzeni roboczej nigdy nie zmienia biblioteki, a późniejsza aktualizacja wtyczki nigdy nie edytuje tego, co już dostosowałeś.

Migracja z wtyczki Code Snippets

Otwórz MevvCode → Migracja. Importer czyta tabelę fragmentów kodu z prefiksem witryny, zachowuje każdy identyfikator źródłowy i dokładne bajty kodu oraz tworzy przygotowane rekordy MevvCode, nie zmieniając tego, która wtyczka jest aktywna.

  1. Uruchom wykrywanie i sprawdź liczbę rekordów.
  2. Zaimportuj do przygotowanego, wyłączonego zestawu.
  3. Sparsuj każdy fragment kodu aktywny we wtyczce Code Snippets.
  4. Utwórz migawkę do wycofania: listę aktywnych wtyczek i bieżący manifest MevvCode.
  5. Skompiluj jedną kompletną generację.
  6. Rozpocznij przejście. Wtyczka Code Snippets zostaje wyłączona dopiero wtedy, gdy manifest już istnieje.
  7. Podpisane żądanie zwrotne sprawdza publiczną witrynę. Powodzenie zatwierdza przejście; niepowodzenie automatycznie przywraca listę wtyczek i manifest.

Tabele źródłowe nie są usuwane. Ręczne wycofanie pozostaje dostępne także po udanym przejściu i włącza z powrotem dokładnie tę samą listę aktywnych wtyczek. W witrynie mevvshop.com 1 września 2026 roku zmierzone przejście produkcyjne zachowało 9 rekordów i 6 stanów aktywności oraz dało 0 rozbieżności w nazwie, dokładnych bajtach kodu, priorytecie i statusie. To dowód dla tamtego sklepu, a nie uniwersalny wzorzec.

Jeżeli zaimportowany fragment kodu nie przechodzi parsowania, popraw przygotowaną kopię w MevvCode albo zostaw ją wyłączoną. Nie wyłączaj wtyczki Code Snippets ręcznie, zanim przejście nie zgłosi sprawnej generacji.

Tryb bezpieczny i odzyskiwanie

W tryb bezpieczny można wejść za pomocą udokumentowanej stałej albo krótko żyjącego, podpisanego adresu URL wygenerowanego dla administratora. W trybie bezpiecznym wykonywanie fragmentów kodu zostaje wstrzymane, a panel administracyjny pozostaje dostępny do naprawy.

  • Błąd parsowania PHP nigdy nie staje się bieżącą generacją.
  • Wyjątek w czasie wykonania wyłącza odpowiedzialny rekord i zostawia pozostałe fragmenty kodu dostępne.
  • Ochrona przed błędem krytycznym zapisuje wyłącznie tożsamość i stan rekordu potrzebne do odzyskania — nigdy kodu źródłowego ani sekretów żądania.
  • Poprzednia znana dobra generacja jest zachowywana, dopóki jej następczyni nie przejdzie wszystkich sprawdzeń.
define( 'MEVVCODE_SAFE_MODE', true );

Po naprawieniu lub wyłączeniu wadliwego rekordu usuń tę stałą. Pozostawiona na miejscu celowo trzyma wszystkie fragmenty kodu wyłączone.

Przenośność i kopie zapasowe

Wybrane rekordy eksportuj jako MevvCode JSON v1, aby przenieść je tam i z powrotem bez strat, albo jako czytelny kod PHP, gdy miejsce docelowe nie powinno zależeć od MevvCode. Importy z wtyczek Code Snippets i WPCode są adapterami do tego samego kanonicznego formatu rekordu.

  • Eksport do JSON obejmuje metadane, warunki i status.
  • Eksport do PHP służy przeglądowi i ręcznemu przejęciu własności, a nie ponownemu wczytaniu ukrytych metadanych.
  • Loader must-use potrafi przenieść skompilowane zachowanie, gdy zwykłą wtyczkę trzeba usunąć.
  • Pro potrafi spakować wybrane fragmenty kodu jako zwykły plik ZIP wtyczki funkcjonalnej, po sprawdzeniu nazw, ścieżek i kodu PHP.

Przed dużym importem, zbiorczym włączaniem albo migracją trzymaj kopię eksportów poza witryną. Rewizje są historią edycji, a nie kopią zapasową na wypadek awarii.

Free i Pro

Wersja darmowa jest kompletnym, bezpiecznym, lokalnym menedżerem fragmentów kodu. Obejmuje wszystkie pięć typów, atomowe środowisko wykonawcze, miejsca i warunki podstawowe, ochronę przed błędem krytycznym, tryb bezpieczny, migrację z wtyczki Code Snippets, import i eksport, generatory, rewizje, uprawnienia ról, REST tylko do odczytu oraz loader must-use.

Pro to warstwa współpracy i dostarczania. Dodaje warunki wielokrotnego użytku i zaplanowane; kontekst urządzenia, odsyłacza, geolokalizacji, koszyka i zamówienia; nieograniczoną historię audytu; buildy CSS/JS i zasoby zewnętrzne; zdarzenia pikseli e-commerce z podglądem na żywo; podpisaną automatyzację; eksport wtyczki; lokalne wnioski zbiorcze; szyfrowane przestrzenie robocze w chmurze; opcjonalny przegląd AI oraz szkicowanie AI z własnym kluczem dostawcy; a także zgodne z REST/MCP API z ograniczeniem akcji.

Chmura i AI włączane są osobno. AI otrzymuje kopię z zamaskowanymi sekretami i zwraca różnicę do przeglądu; nigdy nie stosuje jej automatycznie. Zapisy w chmurze używają HMAC podpisanego kluczem licencji, a optymistyczne rewizje odrzucają nieaktualne aktualizacje.

Szkicowanie fragmentu z AI

Pro potrafi naszkicować fragment na podstawie opisu tego, czego potrzebujesz. Ściśle na własnym koncie: wybierasz dostawcę — OpenAI albo Anthropic — i wklejasz własny klucz API, a żądanie idzie z twojej witryny prosto do tego dostawcy. Generowanie w ogóle nie przechodzi przez nasze serwery. AI jest wyłączone, dopóki go nie włączysz.

  • To, co wraca, zawsze zapisuje się jako nieaktywny szkic. Wygenerowany kod nigdy nie jest sam z siebie stosowany, aktywowany ani uruchamiany.
  • Propozycja, która nie przechodzi tej samej bramki składni PHP, jaką darmowy kompilator stosuje przed aktywacją, nie zostaje w ogóle zapisana, więc fragment, który wywaliłby witrynę błędem krytycznym, nigdy nie trafia na twoją listę.
  • Naszkicować można wszystkie pięć typów fragmentów: PHP, JavaScript, CSS, HTML i tekst.

Przegląd AI i szkicowanie AI to różne funkcje i idą różnymi drogami. Przegląd wysyła zredagowaną kopię kodu, który już masz, do naszego własnego punktu końcowego z twoim kluczem licencji i zwraca diff; szkicowanie rozmawia wyłącznie z wybranym przez ciebie dostawcą, twoim własnym kluczem. Obie włącza się osobno i żadna niczego sama nie stosuje.

Warunek kraju i SCSS (Pro)

Uruchamianie fragmentu kodu tylko w wybranych krajach

Pro dodaje warunek kraju do tego samego edytora reguł, którego używa wersja darmowa. Kraj jest ustalany z własnego adresu rozliczeniowego lub wysyłki klienta WooCommerce, a w razie jego braku z bazy danych geolokalizacji zainstalowanej na twoim serwerze. Nigdy nie jest o to pytana zewnętrzna usługa wyszukiwania i żaden adres odwiedzającego nie jest zapisywany — pytanie jest rozstrzygane lokalnie albo wcale.

Pisanie w SCSS

Ekran Style kompiluje SCSS lub LESS i zapisuje wynik jako nowy fragment CSS, nieaktywny, do przeczytania przed włączeniem. To celowy objazd, a nie hak w edytorze CSS: to, co działa na twojej witrynie, pozostaje zwykłym CSS, który możesz otworzyć.

Kompilator jest napisany do tego jednego zadania — zmienne, zagnieżdżanie, znak ampersand oraz reguły media, supports, layer i container wyprowadzone na zewnątrz. To, czego nie implementuje, odrzuca z błędem: mixiny, extends, importy, dyrektywy sterujące i interpolację. Odrzucanie to właśnie sens. Kompilator, który obsługuje dyrektywę w połowie, produkuje CSS subtelnie inny od tego, co napisałeś, a odkrywasz to na warstwie frontowej.

Zdarzenia pikseli na żywo

Pro normalizuje zdarzenia e-commerce dla Meta, Google i TikToka — obejrzenie produktu, dodanie do koszyka, rozpoczęcie zamówienia i zakup — i potrafi pokazywać je na bieżąco, gdy pracujesz, żebyś widział, że zdarzenie faktycznie się wyzwala i niesie oczekiwane wartości. Przechwytywanie jest domyślnie wyłączone i trzeba je świadomie włączyć.

  • Zdarzenia zostają na twojej własnej witrynie. Na tej drodze nie ma żadnego zewnętrznego kolektora.
  • Przechowywane jest tylko ostatnie dwieście zdarzeń, w buforze rotacyjnym. Nic starszego nie przetrwa i nie ma tabeli, która by rosła.
  • Nie jest przechowywany żaden adres IP, ciasteczko, identyfikator ani ciąg zapytania. Gdy do zdarzenia należy adres e-mail albo numer telefonu, jest najpierw haszowany SHA-256.

To monitor do sprawdzania twoich zdarzeń, a nie analityka. Nie przechowuje historii, z której dałoby się zbudować raport, i nie ma takiego zamiaru.

Odnalezienie i aktywacja licencji Pro

Zakupiona licencja jest powiązana z adresem e-mail podanym przy zamówieniu i widnieje pod adresem mevvsoft.com/account. Klucz zaczyna się od MEVD; nigdy nie wklejaj go do zgłoszenia wsparcia, do adresu URL ani do publicznego dziennika.

  1. Zainstaluj i włącz darmowy pakiet MevvCode.
  2. Zainstaluj i włącz odpowiadający mu pakiet MevvCode Pro.
  3. Zaloguj się na konto utworzone dla adresu e-mail z zamówienia i skopiuj klucz MevvCode Pro.
  4. Otwórz MevvCode → Licencja, wklej klucz MEVD i aktywuj go.
  5. Upewnij się, że status jest aktywny, a witryna widnieje przy licencji na twoim koncie.

Jeżeli licencji nie ma na koncie, najpierw upewnij się, że zalogowałeś się tym samym adresem e-mail, którego użyto przy zamówieniu. Jeżeli licencja jest, ale aktywacja zgłasza limit witryn, zwolnij starą witrynę na koncie albo skontaktuj się ze wsparciem bez przesyłania pełnego klucza.

Aktualizacje

Aktualizacje przychodzą przez sam WordPress. Wtyczka pyta nasz sklep, czy istnieje nowsza wersja, i przekazuje odpowiedź własnemu przepływowi aktualizacji WordPressa, więc nowe wydanie pojawia się na ekranie wtyczek ze zwykłym przyciskiem Aktualizuj, zamiast czekać, aż ktoś ręcznie pobierze zip. W darmowej edycji to żądanie niesie wyłącznie nazwę pakietu i zainstalowaną wersję — bez adresu witryny, bez adresu e-mail, bez klucza licencji i bez spisu wtyczek. Ponieważ nic w nim cię nie identyfikuje, zaufanie opiera się na podpisie: odpowiedź jest podpisana naszym kluczem Ed25519, a odpowiedź niepodpisana, źle podpisana, odtworzona ze starego znacznika czasu albo kierująca pobranie na host inny niż nasz zostaje odrzucona bez dotykania witryny.

FAQ i rozwiązywanie problemów

Fragment kodu zapisał się, ale nie zadziałał
Sprawdź, czy jest włączony, czy jego miejsce odpowiada żądaniu, czy da się spełnić każdą grupę warunków i czy tryb bezpieczny jest wyłączony.
Po migracji stara wtyczka nadal jest aktywna
Przejście nie zostało zatwierdzone. Przeczytaj wynik migracji: parsowanie, kompilacja albo zwrotny test sprawności nie powiodły się, a wycofanie ochroniło witrynę.
Witryna weszła w tryb bezpieczny
Otwórz panel przez podpisany adres URL odzyskiwania, obejrzyj ostatnio wyłączony rekord, popraw go albo zostaw wyłączony, skompiluj, a następnie wyjdź z trybu bezpiecznego.
Chmura zgłasza konflikt
Inny klient zmienił przestrzeń roboczą po rewizji, którą wczytałeś. Porównaj rekord zdalny z lokalnym i wyślij zmiany ponownie, opierając się na nowej rewizji bazowej.
Przegląd AI jest niedostępny
Aktywne muszą być zarówno licencja Pro, jak i wyraźna zgoda na AI, a adapter usługi musi być skonfigurowany. Lokalne fragmenty kodu działają dalej.

Prosząc o wsparcie, prześlij wersje wtyczek, wersje WordPress i PHP, UUID rekordu oraz dokładną treść błędu. Usuń sekrety i dane klientów. Nie wysyłaj produkcyjnego klucza licencji ani całego kodu źródłowego, chyba że jest to konieczne i sam go przejrzałeś.