解決した課題
数年ぶりにWordPress本体を最新バージョンへ更新し、あわせて決済プラグインも最新版へ更新したところ、決済機能が正常に動作しなくなった。
調査の結果、決済プラグイン側の仕様(読み込むスクリプトやイベント等)が更新により変化していた一方で、テーマ(テンプレート)側に実装されていた独自のJavaScriptが最新版プラグインの挙動に追従できておらず、決済画面の処理が途中で止まる/送信できない等の不具合が発生していた。
対応内容
・開発者PC上にDockerの仮想環境(WordPress+対象テーマ+決済プラグイン)を構築し、本番同等の状態をローカルで再現できる検証環境を整備
・決済フロー(カート→チェックアウト→決済→完了)を通しで検証し、どの画面・操作で不具合が出るかを再現しながら切り分け
・ブラウザの開発者ツール(Console / Network)とサーバーログを確認し、JavaScriptエラーや通信失敗の箇所を特定
・テーマ(テンプレート)側の独自JavaScriptを点検し、旧プラグイン前提の処理(DOM構造依存、イベントフック、関数名等)を洗い出し
・決済プラグイン最新版の仕様に合わせて、テンプレート側のJavaScriptを修正(必要に応じて依存箇所を撤廃/置換)
・修正後、ローカル環境での自動/手動テストに加え、スマホを含めた決済テストを実施し、決済完了まで正常に到達することを確認
・再発防止として、WordPress/主要プラグイン更新時はステージング環境で事前検証し、決済フローの確認を必須手順として運用に組み込み
結果
Docker上の検証環境で不具合を安定的に再現し、テンプレート側JavaScriptの未対応箇所を特定・修正することで、決済機能が復旧した。
また、更新作業を「ローカル再現→修正→検証→本番反映」の手順に整理したことで、将来のアップデート時も影響範囲を短時間で特定しやすくなり、再発リスクを低減できた。