WordPress のリビジョンの作成者表示がおかしい件

すぐ忘れちゃうのでメモ書きしておきます。 Ticket #16215 の件。 現行バージョン 3.5.1 でおかしくて次期バージョン 3.6 で修正される予定。

現象

簡単に再現できます。

  1. 最初にユーザー admin で記事を作って投稿する
  2. 次にユーザー blogger323 でその記事を更新する
  3. リビジョン画面に行って作者欄を見る

こうなっているはずです。

  • 第 3版: 作者 = admin、内容 = blogger323 が更新した内容
  • 第 2版: 作者 = blogger323、内容 = admin の投稿した最初の内容
  • 第 1版: 作者 = admin、内容 = 空 (自動生成される初版!)

どうしてこうなった?状態なのですが、これは今のリビジョン操作が、更新時に現行の内容をコピーしてリビジョン用レコードを新たに作成するようになっているからです。 つまり、blogger323 が admin の内容をコピーしたリビジョン用レコード (= 第 2版) を作成するので、第 2版の作者は blogger323 としてデータベースに記録されます。 投稿として表示されるレコードには更新がかけられるのですが、作者フィールドは更新対象とならず最初に作成した admin のまま変わらないのです。

3.6 に向けて

日々更新されていくので、どのような対策をしようとしているか興味のある方は Ticket #16215 を参照してみてください。 私は自分のプラグインの処理に関係するかも知れないので気にしていますが、とりあえず 3/13 予定のβ1 待ちです。