WordPress で保存・投稿・送信ができないとき
保存や送信の失敗は、画面にエラーが出ないまま一部だけ捨てられていることがあります。「失敗した」のか「黙って欠けた」のかを先に分けてください。
見えている症状から選ぶ
| 見えているもの | まず疑う |
|---|---|
| 「更新に失敗しました。返答が正しい JSON レスポンスではありません」 | REST API が JSON を返していない |
| 保存したのに一部だけ消えた | max_input_vars 超過 |
| 画像をアップロードできない | サイズ上限 2 種類か、年月ディレクトリの権限 |
| 予約投稿されない | WP-Cron のループバック失敗 |
| メールが届かない | wp_mail() が false か、届かないだけか |
| フォームの送信ボタンがくるくる止まらない | REST の到達性(nonce ではない) |
| 絵文字が消える / 時刻が 9 時間ずれる | utf8 と utf8mb4、タイムゾーン |
直前にやった操作から探す場合は 直前にやったことから引く へ。
このテーマの記事
- 「更新に失敗しました。返答が正しいJSONレスポンスではありません」の対処法投稿保存時の「更新に失敗しました。返答が正しいJSONレスポンスではありません」の対処法。REST APIがJSONを返していないのが原因。.htaccessの遮断・REST内のFatal・nonce切れの見分け方を実測で解説。
- WordPressでメニュー・設定が保存できない・一部消える時の対処法WordPressでメニューやカスタムフィールドが保存できない・保存したのに一部だけ消える時の対処法。原因はmax_input_vars超過で、警告はdebug.logに出ずPHPログにしか出ない。120個送って51個しか届かない実測。
- WordPressで画像をアップロードできない・HTTPエラーの対処法WordPressで画像をアップロードできない・「HTTPエラー」が出る時の対処法。原因はサイズ超過2種類か年月ディレクトリの権限で、画面のメッセージから原因を引く。post_max_size超過は200のまま失敗する実測も。
- WordPressで予約投稿されない・公開されない時の対処法予約した時刻を過ぎても公開されない・「予約投稿に失敗しました」の対処法。WP-Cronはサイト自身へのアクセスで動くため、アクセスが無い・ループバックが失敗すると動かないことを実測。手動実行と恒久対策も。
- WordPressからメールが届かない時の対処法(送信できているか確認)WordPressからメール(お問い合わせ通知・パスワード再設定)が届かない時の対処法。wp_mailがfalseを返して送信すらしていないのか、届かないだけなのかを画面の文言で切り分ける。送信元アドレスが原因のケースを実測。
- Contact Form 7で送信できない・くるくる止まらない時の対処法Contact Form 7で送信ボタンがくるくる回ったまま止まらない・送信できない時の対処法。原因はREST APIの到達性で、「キャッシュでnonceが切れる」は現行版では起きないことを実測。症状で3つに切り分ける。
- WordPressで絵文字が保存できない・時刻がずれる時の対処法(移行後)サーバー移行後に絵文字が保存できない・投稿時刻が9時間ずれる時の対処法。utf8テーブルは日本語は通るが絵文字でエラー1366、date()とcurrent_time()でタイムゾーンが違うことを実測。文字化けの原因も。