ショートコード / ブロック
[jcm_map id="マップID" level="…" class="…"]— マップを描画。idは必須(都道府県マップ・市町村マップの投稿 ID。post type はサーバー側で自動判定)。level(任意)— このショートコードに限り精度レベルを上書き。都道府県マップ:low/low-smooth/mid/high、市町村マップ:low/mid/high(low-smoothは都道府県マップのみ)。投稿側の設定より優先され、許可外の値は無視されます。class(任意)— ルート要素に追加するカスタム CSS クラス。- ブロック名
jcm/map(「クリッカブル地図」)。属性id(integer, 初期値 0)。動的ブロックで、レンダリングはショートコードと同じ処理に委譲されます。
カスタム投稿タイプ
| post_type | 用途 |
|---|---|
jcm_map | 都道府県マップ |
jcm_muni_map | 市町村マップ |
いずれも public => false で、フロントの単独ページは持ちません(ショートコード/ブロック経由でのみ表示)。設定は post meta に JSON で保存されます。
| メタキー | 内容 |
|---|---|
_jcm_config | 都道府県マップの設定一式(モード・配色・リンク・表示オプション等) |
_jcm_muni_config | 市町村マップの設定一式(選択コード・エリア・上書き等) |
プリセット色はオプション jcm_color_presets(hex カラーの配列・最大 24 件)に保存されます。
REST API
| エンドポイント | メソッド / 権限 | 内容 |
|---|---|---|
/wp-json/jcm/v1/maps | GET / edit_posts | 公開済みマップの一覧を [{ id, title, kind }] で返す(ブロックエディタの選択 UI 用。kind は prefecture | municipality) |
フロントエンドの出力
- 地図は インライン SVG として出力されます(画像ファイルへの参照なし)。都道府県・市町村とも共通座標系で、選択範囲に応じて viewBox を再計算します。
- ルート要素には
jcm-map(市町村マップはさらにjcm-muni-map)クラスが付与され、ショートコードのclass属性で任意のクラスを追加できます。CSS の上書きはこのクラスを起点にしてください。 - リンク設定のある領域のみ
<a>でラップされます。リンクなしの領域はクリック不可(カーソル変化なし)。 - CSS(
jcm-base.css)はマップを描画したページでのみ読み込まれます。ポップアップを使うマップではjcm-popover.css/jcm-popover.jsが追加で読み込まれます(vanilla JS・jQuery 非依存)。 - ポップアップのデータは
<script type="application/json" class="jcm-popover-data">としてマップ直後に埋め込まれ、フロント JS が DOM を生成します。ESC・外側クリックで閉じ、タッチ端末ではクリックトリガー・狭幅画面ではボトムシート表示に切り替わります。
管理側 AJAX アクション
いずれも nonce 検証つきの管理画面用エンドポイントです(フロントからの利用は想定していません)。
| action | 権限 | 用途 |
|---|---|---|
jcm_preview | edit_post | 都道府県マップ編集画面のライブプレビュー(入力値から SVG を生成して返す) |
jcm_muni_preview | edit_post | 市町村マップ編集画面のライブプレビュー |
jcm_search_objects | edit_posts | ポップアップのリンク項目用に投稿・タームをインクリメンタル検索(最大 20 件) |
このほか、AJAX ではない管理アクションとして、マップ複製(admin_action_jcm_duplicate、権限 edit_post・投稿ごとの nonce。設定 post meta を引き継いだ下書きを作成)と、プリセット色の保存(admin_init 上の POST 処理、権限 manage_options・nonce jcm_save_presets)があります。
地図データ
- 地図データ(SVG)はプラグインに同梱されており、外部 API・地図サービスへのリクエストは発生しません。
- 市区町村は JIS X 0402(5 桁コード)基準の約 1,900 単位。政令指定都市は区単位(例:
14101横浜市鶴見区)。 - 精度レベルごとに別ファイルを持ち、選択されたレベルのデータのみ読み込まれます。
フック
現バージョンでは、拡張用の公開フィルター/アクションフックは提供していません。表示の調整はショートコードの class 属性と CSS(.jcm-map / .jcm-muni-map 起点)で行ってください。フックのご要望は管理画面のバグ報告ウィジェットまたはお問い合わせからお寄せください。
アンインストール時の挙動
プラグインをアンインストール(削除)しても、既定ではデータは削除されません。「クリッカブル地図 > 設定」でデータ削除(オプション jcm_uninstall_remove_all_data)を有効にしたうえでアンインストールした場合のみ、次のデータが削除されます。停止(無効化)では削除されません。
jcm_接頭辞のオプション(ライセンス情報・プリセット色を含む)_jcm_接頭辞の post metajcm_map/jcm_muni_mapの全投稿とその meta