MevvCode は何のためのものか
MevvCode は、サイトに固有の小さなふるまいの置き場です。WooCommerce の配送ルール、チェックアウトの項目、認証用タグ、短い管理ツール、見た目を直す CSS、再利用する HTML やテキストなど。コードに、持ち主、置き場所、条件、履歴、そして本番へ入るための守られた道筋を与えます。
- こう使ってください
- 変更が一つのプラグインを作るほどではなく、それでいてテーマファイルの中に埋もれて消えては困るほど重要なとき。
- こう使わないでください
- 求められているものが、独自のデータモデル、画面、リリースの流れを持つ完結した製品であるとき。その場合は通常のプラグインを作ってください。
- コードの持ち主
- コードはご自身で書くか、開発者や信頼できる出どころからレビュー済みのコードを持ち込んでください。MevvCode はコードを管理し保護しますが、素性の分からないスニペットを信頼できるものに変えるわけではありません。
外から持ち込んだスニペットは、必ず無効の状態から始めてください。中身を読み、シークレットとサイト固有の識別子を取り除き、検証してから有効化します。
インストール
まず無料の MevvCode プラグインをインストールして有効化してください。WordPress 6.6 以降と PHP 8.1 以降が必要です。Pro は別の補助プラグインであり、無料版のランタイムを置き換えることは決してありません。
mevvcode-1.1.0.zipをアップロードして有効化します。- MevvCode → スニペット を開きます。保存用ディレクトリと、その Web サーバー保護ファイルは自動で作成されます。
- 無効なスニペットを作り、種類と実行場所を選んで保存します。
- 有効化する前に、プレビューと構文チェックの結果を確認します。
- Pro の画面が必要な場合にかぎり
mevvcode-pro-1.1.0.zipをインストールし、MevvCode → ライセンス で MEVD ライセンスを有効化します。
Pro を入れているあいだも、無料プラグインは有効なままにしてください。実行を担うランタイムは無料版にあります。ですからライセンスが切れても、すでに公開されているふるまいが消えることはありません。
最初のスニペット
最初のレコードは無効のまま作ります。目的が分かる名前を付け、コード自体が限られた WordPress や WooCommerce のフックに結び付く場合にかぎり PHP とグローバルな実行場所を選び、保存します。
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;
} );
} );
- 検証結果を読みます。構文解析エラーが出たら、そのレコードは無効のままにしてください。
- ストアに送料無料の配送方法がすでに設定されていることを確認します。
- ステージング環境でスニペットを有効化し、しきい値の下と上でカートを試します。
- レコードを本番へ持って行く前に、JSON の控えを書き出します。
- 公開したら、公開側のカートと 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 フックは意識して選ぶものであり、サポートの回答からコピーしたコードの既定の置き場ではありません。
ライブラリとパック
ライブラリタブには、本来ならフォーラムの投稿からコピーしてくるようなよくある作業のために吟味された60のスニペットがあります — XML-RPCの無効化、絵文字用アセットの除去、スキップリンクの追加、外部リンクへのnoopener指定、WooCommerceの調整などです。追加すると、自分のワークスペースに無効な状態のレコードとしてコピーされます — 読んでからオンにします。何かが最初から実行中の状態でインストールされることはありません。
6つのパックは、カテゴリではなく作業単位でまとめられています — ストア開設、チェックアウトの整理、カタログ調整、ストアの高速化、基本的な堅牢化、管理画面の整理です。パックはオール・オア・ナッシングです — スニペットのうち1つでも書き込めない場合、すでに書き込まれたものはロールバックされます。そのため、半分だけのパックが残り、どちらの半分か分からなくなるということはありません。
ライブラリのレコードはコピーです。ワークスペース内で編集してもライブラリ自体が変わることはなく、後のプラグイン更新がすでにカスタマイズした内容を編集することもありません。
Code Snippets からの移行
MevvCode → 移行 を開きます。インポーターはサイト接頭辞の snippets テーブルを読み、すべての元 ID とコードのバイト列をそのまま保ち、どのプラグインが有効かを変えないまま、下ごしらえ済みの MevvCode レコードを作ります。
- 検出を実行し、レコード数を確認します。
- 下ごしらえ済みの、無効な一式としてインポートします。
- Code Snippets で有効になっているすべてのスニペットを構文解析します。
- 有効なプラグイン一覧と現在の MevvCode マニフェストについて、切り戻し用のスナップショットを作ります。
- 完全な世代を一つコンパイルします。
- 切り替えを開始します。Code Snippets が停止されるのは、マニフェストができたあとだけです。
- 署名付きのループバックリクエストが公開サイトを確認します。成功すれば確定し、失敗すればプラグイン一覧とマニフェストが自動的に復元されます。
元のテーブルは削除されません。切り替えが成功したあとも手動の切り戻しは残っており、以前の有効なプラグイン一覧をそのまま復元します。2026 年 9 月 1 日の mevvshop.com では、実測した本番の切り替えで 9 件のレコードと 6 件の有効状態が保たれ、名前、コードのバイト列、優先度、状態のいずれにも不一致は 0 件でした。これはそのストアについての実測であり、どこでも通じる基準値ではありません。
インポートしたスニペットが構文解析に失敗したら、下ごしらえ済みの MevvCode 側の複製を直すか、無効のままにしてください。切り替えが健全な世代を報告する前に、Code Snippets を手で停止しないでください。
セーフモードと復旧
セーフモードには、ドキュメントに記載された定数か、管理者向けに発行される短命の署名付き URL で入れます。セーフモードではスニペットの実行が止まり、修復のために管理画面は使えるまま残ります。
- PHP の構文解析エラーが現在の世代になることは決してありません。
- 実行時の例外は、原因となったレコードを無効にし、ほかのスニペットは使えるまま残します。
- 致命的エラーの保護が記録するのは、復旧に必要なレコードの識別情報と状態だけです。ソースコードやリクエストのシークレットを記録することはありません。
- 直前の正常な世代は、置き換わるものがすべての検査を通るまで保持されます。
define( 'MEVVCODE_SAFE_MODE', true );
壊れたレコードを直すか無効にしたら、この定数を外してください。そのままにしておくと、意図してすべてのスニペットを止めた状態が続きます。
持ち出しとバックアップ
選んだレコードは、欠落なく往復させるための MevvCode JSON v1 として、あるいは移行先を MevvCode に依存させたくない場合は読める PHP として書き出せます。Code Snippets と WPCode のインポートは、同じ正規のレコード形式へつなぐアダプターです。
- JSON の書き出しには、メタデータ、条件、状態が含まれます。
- PHP の書き出しは、レビューと手元での引き取りのためのものです。隠れたメタデータを取り込み直すためのものではありません。
- 通常のプラグインを外さなければならないとき、must-use ローダーがコンパイル済みのふるまいを引き継げます。
- Pro は、名前、パス、PHP を検証したうえで、選んだスニペットを通常の機能プラグイン ZIP としてまとめられます。
大きなインポート、一括有効化、移行の前には、書き出しの控えをサイトの外に置いてください。リビジョンは編集の履歴であり、障害復旧用のバックアップではありません。
無料版と Pro 版
無料版は、それだけで完結した安全なローカルのスニペット管理です。5 種類すべて、アトミックなランタイム、実行場所と基本の条件、致命的エラーの保護、セーフモード、Code Snippets からの移行、インポート/エクスポート、ジェネレーター、リビジョン、ロール権限、読み取り専用 REST、must-use ローダーが含まれます。
Pro は共同作業と配信の層です。再利用可能な条件とスケジュール条件、デバイス・リファラー・地域・カート・注文のコンテキスト、無制限の監査履歴、CSS/JS のビルドと外部アセット、ライブモニター付きの EC ピクセルイベント、署名付き自動化、プラグイン書き出し、ローカルの集計インサイト、暗号化されたクラウドワークスペース、任意参加の AI レビューとご自身のプロバイダーキーによる AI 下書き、そしてアクションを制限した REST/MCP 互換 API を追加します。
クラウドと AI は、それぞれ別に有効にするものです。AI が受け取るのはシークレットを伏せた複製で、返すのはレビューの差分です。差分を自動で適用することは決してありません。クラウドへの書き込みはライセンスキーで署名した HMAC を使い、楽観的なリビジョン管理が古い更新を拒否します。
AI でスニペットの下書きを作る
Pro は、必要なものの説明からスニペットの下書きを作れます。完全に「自分の契約で」使う方式です。プロバイダー(OpenAI か Anthropic)はあなたが選び、ご自身の API キーを貼り付けます。リクエストはあなたのサイトからそのプロバイダーへ直接送られ、生成が当社のサーバーを通ることは一切ありません。AI は、あなたが有効にするまで無効のままです。
- 返ってきたものは、常に無効な下書きとして保存されます。生成されたコードが独りでに適用・有効化・実行されることはありません。
- 無料版のコンパイラーが有効化前に適用するのと同じ PHP 構文チェックを通らなかった提案は、そもそも保存されません。サイトを致命的エラーに落とすようなスニペットが一覧に届くことはありません。
- 5 種類のスニペットすべてを下書きできます: PHP、JavaScript、CSS、HTML、テキスト。
AI のレビューと AI の下書きは別の機能で、通る経路も異なります。レビューは、すでに手元にあるコードの伏字処理済みのコピーを、ライセンスキーとともに当社のエンドポイントへ送り、差分を返します。下書きは、あなたが選んだプロバイダーとだけ、あなた自身のキーでやり取りします。どちらも個別に有効化するもので、いずれも独りでに何かを適用することはありません。
国条件とSCSS(Pro)
スニペットを特定の国だけで実行する
Proは、無償版が使うのと同じルールエディターに国条件を追加します。国はWooCommerceの顧客自身の請求先または配送先住所から解決され、それができない場合はサーバーにインストールされたジオロケーションデータベースから解決されます。サードパーティの照会サービスに問い合わせることは一切なく、訪問者の住所も保存されません — 質問はローカルで解決されるか、まったく解決されないかのどちらかです。
SCSSを書く
スタイル画面はSCSSまたはLESSをコンパイルし、その結果をオンにする前に読める、無効な状態の新しいCSSスニペットとして保存します。これはCSSエディターに組み込んだフックではなく、意図的な迂回路です — サイト上で動作するものは、開いて読める通常のCSSのままです。
このコンパイラはこの用途専用に書かれています — 変数、ネスト、アンパサンド、そして外側に展開されたmedia、supports、layer、containerルールです。実装していないもの、すなわちmixin、extend、import、制御ディレクティブ、補間についてはエラーで拒否します。拒否することこそが重要な点です。あるディレクティブを中途半端にサポートするコンパイラは、書いた内容と微妙に異なるCSSを生成してしまい、それにはフロントエンドで気づくことになります。
ライブのピクセルイベント
Pro は EC のイベントを Meta、Google、TikTok 向けに正規化します——商品閲覧、カート追加、決済開始、購入です。作業中にそれらが届く様子を表示できるので、イベントが実際に発火し、期待どおりの値を運んでいることを確認できます。取得は既定で無効で、意図的に有効にする必要があります。
- イベントはご自身のサイトにとどまります。その経路のどこにも、第三者のコレクターはありません。
- 保持されるのは直近 200 件のイベントだけで、循環バッファに置かれます。それより古いものは残らず、肥大していくテーブルもありません。
- IP アドレス、クッキー、識別子、クエリ文字列は、いずれも保存しません。メールアドレスや電話番号がイベントに含まれる場合は、先に SHA-256 でハッシュ化されます。
これはイベントを確認するためのモニターであって、アナリティクスではありません。レポートを作れるような履歴は保持しませんし、そのためのものでもありません。
Pro ライセンスの確認と有効化
購入したライセンスは、ご購入時のメールアドレスにひも付き、mevvsoft.com/account に表示されます。キーは MEVD で始まります。サポートへの問い合わせ、URL、公開されるログには決して貼り付けないでください。
- 無料の MevvCode パッケージをインストールして有効化します。
- 対応する MevvCode Pro パッケージをインストールして有効化します。
- ご購入時のメールアドレスで作成されたアカウントにログインし、MevvCode Pro のキーをコピーします。
- MevvCode → ライセンス を開き、MEVD キーを貼り付けて有効化します。
- 状態が有効になっていること、そしてアカウントのライセンスにそのサイトが表示されていることを確認します。
アカウントにライセンスが見当たらない場合は、まずご購入時と同じメールアドレスでログインしているかを確認してください。表示されているのに有効化でサイト数の上限が出る場合は、アカウントから古いサイトを解放するか、キー全体を送らずにサポートへご連絡ください。
更新
更新は WordPress 自身を通して届きます。プラグインは新しいバージョンがあるかを当社ストアに尋ね、その答えを WordPress 自身の更新の流れに渡します。そのため新しいリリースは、誰かが手作業で zip を取りに行くのを待つのではなく、プラグイン画面にごく普通の更新ボタンとして現れます。無料版では、このリクエストが運ぶのはパッケージ名とインストール済みバージョンだけで、サイトのアドレスも、メールアドレスも、ライセンスキーも、プラグインの一覧もありません。あなたを特定するものが何も含まれないため、信頼は署名にかかっています。応答は当社の Ed25519 鍵で署名されており、署名がない・署名が合わない・古いタイムスタンプから再生された・ダウンロード先が当社以外のホストを指す応答は、サイトに触れることなく破棄されます。
よくある質問とトラブルシューティング
- スニペットは保存できたのに動かない
- 有効になっているか、実行場所がそのリクエストに合っているか、いずれかの条件グループを満たせるか、セーフモードが解除されているかを確認してください。
- 移行のあとも古いプラグインが有効なまま
- 切り替えが確定していません。移行の結果を読んでください。構文解析、コンパイル、ループバックのヘルスチェックのいずれかが失敗し、切り戻しがサイトを守ったということです。
- サイトがセーフモードに入った
- 署名付きの復旧 URL から管理画面を開き、最後に無効化されたレコードを調べ、直すか無効のままにし、コンパイルしてからセーフモードを抜けてください。
- クラウドが競合を知らせてくる
- 読み込んだリビジョンのあとで、別のクライアントがワークスペースを変更しています。リモートのレコードと手元のレコードを見比べ、新しい基準リビジョンで送り直してください。
- AI レビューが使えない
- Pro ライセンスと、明示的な AI の利用同意の両方が有効で、かつサービスのアダプターが設定されている必要があります。ローカルのスニペットはそのまま動き続けます。
サポートに問い合わせるときは、プラグインのバージョン、WordPress と PHP のバージョン、レコードの UUID、エラーの文面をそのままお送りください。シークレットと顧客データは取り除いてください。本番のライセンスキーやソース全体は、必要で、かつご自身で内容を確認した場合を除いて送らないでください。