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 フックは意識して選ぶものであり、サポートの回答からコピーしたコードの既定の置き場ではありません。
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 のビルドと外部アセット、e コマースのピクセルイベント、署名付き自動化、プラグインの書き出し、ローカルの集計分析、暗号化されたクラウドワークスペース、任意で有効にする AI レビュー、そして操作単位で権限を制御する REST/MCP 互換 API が加わります。
クラウドと AI は、それぞれ別に有効にするものです。AI が受け取るのはシークレットを伏せた複製で、返すのはレビューの差分です。差分を自動で適用することは決してありません。クラウドへの書き込みはライセンスキーで署名した HMAC を使い、楽観的なリビジョン管理が古い更新を拒否します。
Pro ライセンスの確認と有効化
購入したライセンスは、ご購入時のメールアドレスにひも付き、mevvsoft.com/account に表示されます。キーは MEVD で始まります。サポートへの問い合わせ、URL、公開されるログには決して貼り付けないでください。
- 無料の MevvCode パッケージをインストールして有効化します。
- 対応する MevvCode Pro パッケージをインストールして有効化します。
- ご購入時のメールアドレスで作成されたアカウントにログインし、MevvCode Pro のキーをコピーします。
- MevvCode → ライセンス を開き、MEVD キーを貼り付けて有効化します。
- 状態が有効になっていること、そしてアカウントのライセンスにそのサイトが表示されていることを確認します。
アカウントにライセンスが見当たらない場合は、まずご購入時と同じメールアドレスでログインしているかを確認してください。表示されているのに有効化でサイト数の上限が出る場合は、アカウントから古いサイトを解放するか、キー全体を送らずにサポートへご連絡ください。
よくある質問とトラブルシューティング
- スニペットは保存できたのに動かない
- 有効になっているか、実行場所がそのリクエストに合っているか、いずれかの条件グループを満たせるか、セーフモードが解除されているかを確認してください。
- 移行のあとも古いプラグインが有効なまま
- 切り替えが確定していません。移行の結果を読んでください。構文解析、コンパイル、ループバックのヘルスチェックのいずれかが失敗し、切り戻しがサイトを守ったということです。
- サイトがセーフモードに入った
- 署名付きの復旧 URL から管理画面を開き、最後に無効化されたレコードを調べ、直すか無効のままにし、コンパイルしてからセーフモードを抜けてください。
- クラウドが競合を知らせてくる
- 読み込んだリビジョンのあとで、別のクライアントがワークスペースを変更しています。リモートのレコードと手元のレコードを見比べ、新しい基準リビジョンで送り直してください。
- AI レビューが使えない
- Pro ライセンスと、明示的な AI の利用同意の両方が有効で、かつサービスのアダプターが設定されている必要があります。ローカルのスニペットはそのまま動き続けます。
サポートに問い合わせるときは、プラグインのバージョン、WordPress と PHP のバージョン、レコードの UUID、エラーの文面をそのままお送りください。シークレットと顧客データは取り除いてください。本番のライセンスキーやソース全体は、必要で、かつご自身で内容を確認した場合を除いて送らないでください。