WordPress を Ver.3.0 にアップグレードしたら、posts テーブルに、post_status のフィールドが auto-draft というレコードがいくつかできていた。post_title は「自動下書き」と書かれている。
リビジョン管理、自動保存の類は、プラグイン(WP2.7以降のリビジョン管理と自動保存を停止するプラグイン)で無効にしていたが、リビジョン管理の仕様がかわったのかとソースを追ったが特に変わったところがない。
仕様が変わった点は、新規投稿する場合に自動下書き(auto-draft)というレコードが追加される点。
新規投稿の際 post_status=auto-draft を作成し、最初の自動保存のタイミングでステータスを下書きに変更
自動下書き(auto-draft)の挙動
- 記事を新規投稿するために「新規追加」をクリックすると「自動下書き(auto-draft)」という新たなレコードが追加される。
- 下書きをクリックすると新規追加時に追加された同IDのレコードが上書きされる。
※試してないが、下書きではなく公開でも同じ挙動だと予想。
注意点
「新規追加」をクリックすると、自動下書きのレコードが追加されてしまうので、その後の一連の動作で、「下書き」なり「公開」なりをして上書きしてあげないと自動下書きのレコードが宙に浮いてしまう。テーブルにゴミがたまっても気にしないという場合はどうでもいいこと。
何故こんなことしたか?
プラグインで、自動下書きのレコードを追加しないようにしようかとも考えたが、この仕様に至った経緯がわからないので、無効にしていいものかどうかわからない。※そもそもプラグインで対応できるかはまだ調べていない。
メディアのアップロードとか、タグ、カテゴリーの設定などで、先に投稿IDを抑えておく必要があるのなら、無効にするのは危険な気がする。
トラックバック一覧
この記事にはトラックバックがついていません。