WordPressのwp-config.phpでリビジョン制御をしようと記述したらそっとエラーが出た

基本のキでした

WordPressがなんだか遅いと相談されて確認したところ、何はさておきリビジョンが相当量たまっていることが分かったので、リビジョンの削除を提案しました。
最初はリビジョンとは…?という様子だったので、

「リビジョンとは編集履歴のようなものです。バージョンという表現の方が耳になじみがあるかもしれません。
 WordPressの場合、投稿に何らかの追記修正をして、保存ボタンを押す度にリビジョンが一つ作られます。これがあることで、編集前の内容を閲覧、必要に応じて任意のリビジョンに戻すことが可能です。
 ただ、リビジョンを使うようなケースはあまり多いとは言えず、また残しておいても数個程度で十分です。実際、10も20も前の文章を確認して戻したいと思うことは、あまり多くないですよね?」

といった説明で、「数個あれば十分だ」と納得されました。

プラグインを導入するか、プラグイン常駐なしで行くか

全体的にプラグインが多い状態だったので、「プラグイン常駐なし」を検討。

①プラグイン「Optimize Database after Deleting Revisions」を利用してリビジョンを削除する。
②config.phpにリビジョン制御の定数 define(‘WP_POST_REVISIONS’, 3); を追記する。
※3の数字は任意です。詳しくは公式サイトへ。

そして現れるエラー

WordPressサイトの画面上部に、以下のエラーメッセージが表示されるようになりました。

T_REVISIONS already defined in /hoge/hogehogege/hogehogege.com/hoge/wp-config.php on line 100

「already defined」ということで、リビジョン関連の定数(WP_POST_REVISIONS)が、定義済みにも関わらずwp-config.phpの100行目で再定義されたというエラーですね。

凡ミス

もう既にピンと来ている方も少なくないかと思いますが、原因は簡単で、デフォルト値を読み込む「wp-setting.php」より後に記述していた、という凡ミスを犯していただけでした。
具体的には、任意の定数を追加したい場合、以下のような記述(/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */)より、前に書かなければなりません。

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

/** Absolute path to the WordPress directory. */
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‘wp-settings.php’);

これらよりも前の行に定数を追加したところ、サイトに表示されていたエラーメッセージは消えました。