固定ページに貼った [plg_jcm_map id="12"] が地図に変わらず、角括弧ごと文字として画面に出ている。プラグインが壊れたように見える症状ですが、原因の範囲はかなり狭いです。角括弧つきの文字列がそのまま残るのは、そのタグを担当するプラグインが動いていない(綴り違いで担当が見つからない場合を含む)か、貼った場所がショートコードを解釈しない場所か、このどちらかです。 IDの間違いや色・リンクの設定漏れは、この症状とは無関係。
地図作成プラグイン「クリッカブル日本地図」の [plg_jcm_map] を例に、WordPress全般で起きる理由から、地図のショートコード固有の事情まで順に絞っていきます。読み終えたときに自分のケースがどれか決まっていれば、それで十分です。
WordPressにとって、角括弧はただの文字でしかない
前提を1つだけ。WordPressは本文中の [ を見つけしだい何でも実行する、という作りではありません。プラグインやテーマが「このタグ名は自分が担当します」と登録したものだけを、ページを組み立てる瞬間に中身へ差し替えている。登録されていないタグは処理の対象にならず、書いたとおりの文字として素通りします。
つまり文字列が残っている画面は、エラー画面ではありません。担当者がいないので、WordPressが「これは普通の文章だ」と判断した結果です。だからエラーログにも何も出ない。ここが分かりにくさの正体だと思います。
この理屈は [plg_jcm_map] に限らず、フォームでもスライダーでも同じです。逆に言えば、原因を探す場所も共通していて、「担当者がいるか」と「担当者に話が届く場所か」の2つに集約されます。
IDを疑う前に、角括弧が消えているかを見る
最初の分かれ道がここ。ショートコードのIDを疑う人が多いのですが、IDが間違っていても角括弧は残りません。
[plg_jcm_map id="…"] は都道府県マップと市区町村マップで共通のタグで、指定されたIDの投稿をサーバー側が探し、どちらの種類かを自動で判別します。存在しないIDや空のIDだった場合に返るのは、空っぽの出力。画面には何も出ず、角括弧のほうは消えています。タグ名が読めた時点で担当者は仕事を始めていて、行き先が無かっただけ、という状態。
なので、文字列が見えているならIDは容疑者から外していい。「地図の場所が真っ白で何もない」ほうの症状であれば、IDの指定やマップの選択が原因の中心になります。そちらは日本地図が表示されない・クリックできないときに見る場所で扱っているので、症状が違うと感じたら先にそちらへ。
プラグインが止まっているだけ、という結末は多い
担当者がいない状態のいちばん単純な形は、プラグインが有効化されていないこと。心当たりが無くても、次のような経路で止まります。
- 別の不具合を切り分けるためにプラグインを一括停止し、戻し忘れた
- サイトを複製・移行したときに、プラグイン本体が移っていない
- 更新の途中で失敗して停止状態になった
- 動作環境を割った。クリッカブル日本地図は WordPress 6.0以上・PHP 8.1以上が条件です。要件を下回るPHPでは有効化も更新も通らなくなる(動いているものが自動で無効化されるわけではありませんが、致命的エラーで止まってプラグインが停止状態に入ることはあります)
確かめ方は簡単で、プラグイン一覧を開くだけ。その行のリンクが「有効化」になっていれば、いま止まっているということです(動いている側には「無効化」と出る)。止まったプラグインのショートコードは担当者不在の文字列に戻るので、地図があった場所に角括弧の1行だけが残ります。
本文の外に貼ったショートコードは、素通りすることがある

プラグインは動いている。それでも文字列が出るなら、貼った場所を疑います。投稿や固定ページの本文はショートコードを解釈する経路を通りますが、本文の外はそうとは限りません。
引っかかりやすいのはテーマのテンプレートファイルです。header.php や独自のテンプレートに [plg_jcm_map id="12"] と直接書いても、そこはただの文字列として出力されるだけ。PHPから呼ぶときは、ショートコードを展開する関数を通す必要があります。
<?php echo do_shortcode('[plg_jcm_map id="12"]'); ?>
id には管理画面で作ったマップの投稿ID(保存時に自動で振られる番号)を入れます。マップの作り方から確認したいならクリックできる日本地図を作る手順のほうが早いです。
もうひとつ、投稿の「抜粋」欄に手で書いたショートコードも展開されません。一覧ページやアーカイブに角括弧が並んでいたら、たいていこれ。カスタムフィールド投稿に本文とは別の「項目名と値」を持たせる入力欄。資本金や営業時間のような値を本文の外で管理でき、ACFなどのプラグインで追加するのが一般的。に入れた値をテンプレートでそのまま出している場合も同じ理屈で、上の関数を通さないかぎり文字のままです。
本文中に置く前提なら、そもそも角括弧を書かない手もあります。ブロックエディタなら「クリッカブル地図」ブロックを置いて、表示するマップを選ぶだけ。ショートコードとの使い分けはブロックで日本地図を置くに整理してあります。
タグそのものが、見た目より壊れているケース

最後は綴りです。担当者は登録された文字列と完全に一致したときだけ反応するので、少しでも違えば知らないタグとして扱われます。
- 全角の角括弧。
[plg_jcm_map id="12"]は別の文字です。日本語入力のまま打つと起こる - タグ名の違い。
plg-jcm-map、plg_jcm_maps、PLG_JCM_MAPはどれも別物。大文字小文字も区別される - タグ名の前後に混ざった全角スペース。目視ではまず気づけないので、疑わしければ一度消して手で打ち直す
他サイトの解説記事からコピーして貼るときに、記号が整形済みの文字に置き換わっていることもあります。ただ、覚えるタグ名は plg_jcm_map の1種類しかありません。この仕様にしたのは、貼る側が都道府県マップと市区町村マップのどちらを作ったかを意識せず、id を渡すだけで済むようにしたかったからです。どちらの地図かはサーバー側で見分けています。候補が1つしかない以上、綴りの確認は目視で足ります。
貼り方を選べば、この症状に入らずに済む
確かめるのは結局、冒頭の2つに戻ります。担当者がいるか(プラグインが動いているか、綴りが合っているか)と、担当者に話が届く場所か(本文の中か、外か)。どちらも数分で判断がつきます。そのうえで身も蓋もないことを言うと、本文に置く地図なら、ブロックから選ぶほうがこの症状に入りません。タグ名を打つ機会そのものが消えるので。
ショートコードが要るのは、テンプレートやウィジェットのように本文の外へ置くときです。そちらは do_shortcode() を通す、と役割で分けておけば、角括弧の綴りで悩む場面はほとんど残りません。
なお、地図は出るようになったのに色やリンクが思ったとおりでないなら、それは表示側ではなくマップの設定側の話。管理画面での色・リンクの設定の流れはクリッカブル日本地図の製品ページで確認できます。
