WordPressにて記事を投稿できなくなる問題を解決

先月からブログを投稿できなくなっておりました。
手が空いたので本日調査したところ、無事解決できたので、
以下にまとめます。

#症状
WordPressの投稿画面にて、寄稿者権限でないにも関わらず、「公開」ボタンが非表示となり、
代わりに「レビュー待ちとして送信」ボタンが表示されていました。
「レビュー待ちとして送信」ボタンをクリックするとエラーになり、
投稿はおろかレビュー待ちとして送信もできず。

#解決策
プラグイン Incorrect Datetime Bug Fix (※) をインストールして有効化しました。
※データの日付が ’0000-00-00 00:00:00′ の場合エラーとする設定を無効化するプラグイン
 Incorrect Datetime Bug Fix – WordPress plugin | WordPress.org

#経緯
レンタルサーバーの更新が先月頭にあったのでそれによるものではないかと言う話になり、
レンタルサーバー運営に問い合わせ。

WordPressが古過ぎるのが原因ではないかと言われる。

WordPressの更新は手間なので一旦保留に。

他の解決策を探す。
一番初めに見つかるのはDBの容量不足だが、容量は問題なし。

解決策は見つからないものの、wp-config.phpにて
define('WP_DEBUG', true);
を設定するとデバッグモードとなりエラーログなど出力できると判明。
WordPressで新規投稿ができなくなった原因がプラグインだった | #interest_ae

レンタルサーバーコントロールパネルから wp-config.php を開き、デバッグモードをオンに。

投稿画面を開くと以下のエラーログが表示。
 WordPress database error: [Incorrect datetime value: '0000-00-00 00:00:00' for column 'post_date_gmt' at row 1]
 INSERT INTO …
 …
 VALUES (…,’0000-00-00 00:00:00′,…)

エラー内容で検索して解決策記載ページを発見!
MySQLで設定変えたら、WordPressで投稿時に「Incorrect datetime value」エラーが出たので対処法 – たぬきのぶろぐ

#推測される原因
推測なのですが、おそらくレンタルサーバーの更新によりMySqlのバージョンが更新され、
その際に日付が無効値 ‘0000-00-00’ の場合に
エラーとなる設定が追加されたのではないかと思われます。
しかしWordPressの投稿開始時にDBに仮挿入される初期データ内の日付が、
ログを見るに ‘0000-00-00’ のため、投稿開始時にエラーとなり投稿できなくなってしまったのかと。
その問題となる設定を Incorrect Datetime Bug Fix プラグインは無効化してくれるので、
エラーにならずに投稿開始できるようになったのでしょう。

調べてみたらすんなり解決して良かったです。
毎度のことながら、Webの先人達に感謝!

コメントを残す