web-dev-qa-db-ja.com

ポストリビジョンを削除するにはどうすればいいですか?

リビジョン数に制限を設けていないため、投稿の一部に20を超えるリビジョンが含まれているため、これらのリビジョンを削除する方法はありますか。

ところで、私はWPMUを使用していて、たくさんのブログを持っています、それでは私のすべてのブログのためにWordPressのリビジョンを削除するにはどうすればいいですか?

9
hugemeow

彼の答えの deathlocks queryとは異なり、これは非常に安全なクエリであり、postmetaとterm_relationshipから関連するエントリを削除します。

{id}を各ブログ投稿テーブルのIDに変更します。このクエリを組み合わせてすべてのpostテーブルを一度に実行できますが、最初に1つのテーブルで試してください。私はこれを単一のWPインストールで何度も使用しました。

DELETE a,b,c
FROM wp_{id}_posts a
LEFT JOIN wp_{id}_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_{id}_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

実行したら、phpmyadminでデータベースを最適化します。

そして、今後の改訂を防ぐために、この行をwp-config.phpの先頭近くに追加してください。

define('WP_POST_REVISIONS', 0);

1つのリビジョンを保存する:

define('WP_POST_REVISIONS', 1);
9
markratledge

WP Optimize というプラグインもあります。

Webサイトから:

WP-OptimizeはWordPress 2.9 ++データベースのクリーンアップおよび最適化ツールです。データベーステーブルを最適化するためにPhpMyAdminを必要としません。

それはあなたが数回のクリックで投稿の改訂、スパムキューのコメント、未承認のコメントを削除することを可能にします。

2
darronz

WP Sweep プラグインを使って投稿のリビジョンをきれいにすることができます。プラグインを有効にした後、ツール→スイープを選択してWordPressデータベースをクリーンアップしてください。

0
Ashin

このコードをテーマのfunctions.phpファイルに追加することもできます。

if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);

このコードは、WP_POST_REVISIONS制限がwp-config.phpに設定されているかどうかをチェックします。まだ設定されていない場合は、ポストリビジョンを制限する関数にパラメータを渡します。上記の例では、投稿は3つのリビジョンに制限されています。

コードを追加する方法を知らない(またはしたくない)人々のためにテーマを構築するとき、これは良い解決策です。

から取得した - wp-functions.com

0
NickMcB

Wordpressのすべてのリビジョンを削除するには、次のクエリを使います。

DELETE FROM wp_posts WHERE post_type = "revision";

0
deathlock