WordPressのショートコードが文字のまま表示される|消す前に確認する5つの原因

Web制作系の依頼

WordPressの公開ページに、問い合わせフォームや予約表ではなく、角括弧で囲まれたショートコードが文字のまま表示されることがあります。

この状態でショートコードを削除すると、本来表示するはずだった機能まで失われます。先に、コードを発行したプラグイン、設置場所、直前に行った更新を確認します。

WordPress全般のお悩みを解決します

 

編集画面で文字に見えるだけなら異常とは限らない

ショートコードは、編集画面では次のような文字列として表示されます。

[contact_form]

公開ページやプレビューでフォームなどに変換されていれば、問題はありません。

不具合を判断するときは、次の3か所を分けて確認します。

  • WordPressの編集画面
  • プレビュー画面
  • 実際に公開されているページ

編集画面だけを見て修正を始めず、公開ページで文字列がそのまま出ているか確認します。

原因1:ショートコードを発行したプラグインが動いていない

問い合わせフォーム、予約カレンダー、商品一覧などのショートコードは、プラグインによって登録されていることがあります。

そのプラグインが停止、削除、エラーのいずれかで動かなくなると、WordPressがショートコードを認識できません。

確認する項目は次のとおりです。

  • 対象プラグインがインストールされているか
  • プラグインが有効になっているか
  • 管理画面に警告やエラーが出ていないか
  • 最近プラグインを削除していないか
  • 同じプラグインで作ったほかの機能も止まっていないか

プラグインを再度有効にする前に、停止された理由も確認します。エラーや互換性の問題で自動停止している場合、すぐに戻すとサイト全体へ影響する可能性があります。

原因2:テーマ変更でショートコードの定義が消えた

独自のショートコードが、以前のテーマや子テーマ内に作られている場合があります。

テーマを変更すると、旧テーマに書かれていた処理は読み込まれません。その結果、記事内のショートコードだけが残ります。

次の状況なら、テーマとの関係を確認します。

  • テーマ変更の直後から表示されなくなった
  • 市販プラグインではなく、以前の制作者が作った機能である
  • 旧テーマを有効にすると表示が戻る
  • functions.phpや子テーマを編集した記録がある

旧テーマからコードをそのままコピーするのは避けます。現在のテーマで動くか、セキュリティ上の問題がないかを確認してから移します。

原因3:ショートコードの文字が変わっている

コピー時の欠落や書き換えでも認識されなくなります。

よくある違いは次のとおりです。

  • 角括弧が片方ない
  • ショートコード名の綴りが違う
  • 属性を囲む引用符が別の記号になっている
  • 開始側と終了側の名前が違う
  • 不要な空白や改行が入っている
  • 古いコードを別のプラグインへ貼っている

元のプラグインや設定画面にショートコードが表示されているなら、手入力せずにもう一度コピーします。

原因4:設置した場所でショートコードが処理されない

ショートコードは、貼り付ける場所によって処理方法が異なります。

投稿や固定ページでは動いても、次の場所ではそのまま表示されることがあります。

  • テーマ独自の入力欄
  • ヘッダーやフッターの設定欄
  • HTMLとして出力するブロック
  • ページビルダーのコード入力欄
  • 独自テンプレート
  • ウィジェットや再利用パーツ

まず、通常の固定ページにショートコードブロックを置き、同じコードが動くか確認します。

通常ページでは動き、特定の場所だけで文字になるなら、ショートコード自体より設置場所の問題です。

WordPress全般のお悩みを解決します

 

原因5:同じ名前のショートコードが重複している

独自プラグインやテーマが同じ名前のショートコードを登録していると、読み込まれる順番によって別の処理へ置き換わることがあります。

次のような場合は重複を疑います。

  • 新しいプラグインを入れた直後に動かなくなった
  • 同じ用途のプラグインが複数入っている
  • 自作コードとプラグインの両方で同じ名前を使っている
  • 一部のページでは動き、別の場所では予期しない表示になる

重複しているコード名を特定し、片方の名前を変更するか、不要な登録を解除します。

症状から確認範囲を絞る

症状 主に確認する範囲
サイト全体で同じコードが文字になる プラグイン、テーマ、独自コード
1ページだけ文字になる 綴り、引用符、設置ブロック
テーマ変更後に発生した 旧テーマ、子テーマ内の定義
更新後に発生した 更新したプラグインやテーマ
特定の入力欄だけ動かない その入力欄の出力方法
別の機能が表示される ショートコード名の重複

最初からすべてのプラグインを停止する必要はありません。発生時期と影響範囲から、関係する部分を絞ります。

公開ページから一時的に隠す場合

問い合わせフォームや予約機能の代わりにコードが表示されていると、利用者が操作できません。

原因調査に時間がかかる場合は、対象部分を一時的に非表示にし、代替の連絡方法を載せます。

例:

  • 電話番号
  • メールアドレス
  • 外部予約ページ
  • 復旧中であることの案内

ショートコードを記事から完全に削除すると、復旧後に設置場所が分からなくなることがあります。元のコードと掲載ページは別に記録します。

修正前に保存する情報

作業前に次の情報を残します。

  • 文字のまま表示されているページのURL
  • 表示されているショートコードの全文
  • 編集画面のスクリーンショット
  • 本来表示される機能
  • 最後に正常だった時期
  • 直前に更新したテーマやプラグイン
  • 現在使用しているテーマ名
  • 関係しそうなプラグイン名
  • 同じコードを使っているほかのページ

サイト全体をバックアップできる場合は、ファイルとデータベースの両方を保存してから作業します。

避けたい対処

原因が分からないまま次の操作を行うと、問題が広がることがあります。

  • functions.phpへ未確認のコードを貼る
  • 本番サイトでPHPを直接編集する
  • すべてのプラグインを一度に停止する
  • WordPressを古いバージョンへ戻す
  • 同じショートコードを別名で作り直す
  • 関係するページからコードをすべて削除する

特にfunctions.phpの記述ミスは、管理画面へ入れない状態につながります。独自コードを直す場合は、元へ戻せる環境を用意します。

ショートコード修正を依頼するときに伝える内容

修正を依頼する場合は、次の情報をまとめます。

  • 対象ページのURL
  • 表示されているショートコード
  • 本来表示される内容
  • 使用しているテーマ
  • 関係するプラグイン
  • 発生した時期
  • 直前に行った更新や変更
  • 影響しているページ数
  • 管理画面と公開ページのスクリーンショット
  • 一時的な代替表示が必要か

問い合わせフォーム、予約表、会員限定コンテンツなど、止まっている機能の種類も伝えます。原因調査と表示復旧だけを頼むのか、古い仕組みを別の方法へ置き換えるのかも分けておきます。

WordPress全般のお悩みを解決します

 

まとめ

WordPressのショートコードが文字のまま表示されたら、最初に公開ページでも同じ状態か確認します。

その後、ショートコードを発行したプラグイン、テーマ変更、コードの綴り、設置場所、名前の重複を順番に調べます。

ショートコードを削除するだけでは、本来の機能は戻りません。元のコードと掲載ページを保存し、何を表示するためのものだったかを確認してから修正します。

タイトルとURLをコピーしました