投稿をまとめて削除できるWPプラグイン「Auto Bulk Delete Post」

本ページにはプロモーションが含まれています。
有料プラグイン・商品

バックグランド処理で投稿をまとめて削除できるWPプラグイン「Auto Bulk Delete Post」を作りました

大量に投稿記事を削除しないといけない件があり、無料プラグインで削除しようと思ったのですが、

無料プラグインだとちょっと不便なことがあったので、自作してみました。

「Auto Bulk Delete Post」プラグインの購入はこちら(PayPal)(500円)

WordPressの記事をまとめて削除する方法

記事を一括削除する方法は、ざっと2つあります。

・手動で削除
・プラグインで削除

手動で削除する方法

投稿一覧でチェックを付けて「一括編集」でまとめて削除できます。

一度に大量削除をする場合は、「表示オプション」を開き、「ページごとに表示する項目数」を多めに設定するとまとめてチェックできるので便利です。

無料プラグインを使う方法

「Bulk Delete」「WP Bulk Delete」あたりが有名です。

「bulk delete 使い方」でググる

「wp bulk delete 使い方でググる

手動削除、無料プラグインの欠点?

欠点はずばり「タイムアウト」です。

削除を実施すると、ページを読み込んでいるような状態になり、しばらくするとエラー画面が表示されます。(500エラーだったり、真っ白になったりします。)

なぜこうなるかというと、通常Webページ表示にはサーバー上でタイムアウト値が設定されていて、Webページの表示にそれよりも長く時間がかかった場合に、サーバーエラーとなってしまうためです。

無料プラグインを使ってみたところ、使っているサーバー(レンサバ)にもよりますが、一度に削除できる投稿数は大体50件~150件くらいでした。

つまり、それ以上の投稿を削除したい場合、何度も「削除する」をクリックしないといけません。

そこでプラグイン「Auto Bulk Delete Post」を作りました。

「Auto Bulk Delete Post」の特徴

削除したい投稿(投稿タイプ、ステータス)を指定して削除実施すると、削除処理がバックグラウンドで実施されます。

そのため、すぐに管理ページの別ページに移動してもOKですし、管理ページを閉じてしまってもOKです。

自分でも使いましたが、意外とラクちんです。

ただし欠点は2つあります。

・処理がおそい
・有料(500円)

サーバーへ負荷を配慮して1分あたり最大でも30件程度しか削除できません。(だいたい1時間1000件くらいでした)

ワンコイン(税込500円)です。

「Auto Bulk Delete Post」の処理的な話

プログラム内で何をやっているか、というお話です。

バックグラウンド処理とはいってもphpのexec > /dev/null &ではなく、wp-cronを使っています。

wp_schedule_single_eventでスケジューリングした後、spawn_cronを使って即時実行させています。

spawn_cronの実行が不安定で、うまく実行できない事例がありましたので、
phpのexecで自サイトのhomeURLに対してwgetするように変更しております。(v2.0.1)

「Auto Bulk Delete Post」の使い方

「Auto Bulk Delete Post」の設定メニューの場所

管理ページの「設定」メニューに「Auto Bulk Delete Post」というメニュー項目が表示されます。

処理停止

「変更を保存」ボタンをクリックした際に削除処理を実施するか、停止するか選択します。

実行中の削除を停止させたい場合は「停止」を選択して「変更を保存」します。
「停止」してもすぐに停止できませんので、しばらくお待ちください。(30件ほどは記事削除されます。)

投稿タイプ

削除対象となる投稿タイプを選択できます。

「post」(投稿)、「Page」(固定ページ)などを選択できます。

投稿ステータス

削除したい投稿ステータスを選択します。

「ゴミ箱」を選ぶと、すでにゴミ箱に入っている投稿データが完全削除できます。

カテゴリー

削除したいカテゴリーを選択します。

画像

投稿に紐づいている画像(アイキャッチ等)を一緒に削除するかどうか選択します。

削除方法

削除対象の投稿データを「ゴミ箱」へ移動するか、一気に「完全削除」するか選択します。

メールアドレス

処理完了メールの送信先メールアドレスを入力します。

変更保存ボタン

上記設定を保存すると同時に、削除を開始します。

すでに削除処理が動いている場合、重複はしません。

Status

削除処理状況を表示するエリアです。

開始日時(GMT)

削除処理をスタートした日時が表示されます。
GMT表示なので、+9時間すると日本時間になります。

処理状況

cron_done:処理が終わっている(動いていない)状態です。この時に「変更保存」すると処理がスタートします。

cron_doing:処理がスタートした時に表示されます。

deleted:xxxx:処理中に表示されます。「xxxx」の部分は直前に削除完了した投稿IDです。

削除対象の投稿数

削除対象となっている投稿データの合計件数です。この数字分の投稿ページが削除されます。

対象記事が大量にある場合、この計算処理が非常に重くなってしまうため、「削除対象の投稿数」は表示しないようにしました。「-1」と表示されたままになります。

削除完了した投稿数

削除された投稿データ数です。「30」件単位で増えます。1分おきくらいに更新されます。

処理終了日時

削除処理が正常終了した日時が表示されます。

「削除対象の投稿数」が全て削除されているはずです。

商品説明

商品名:「Auto Bulk Delete Post」プラグイン
金 額:500円(税込)
動作環境:Wordpressプラグインです。
支払方法:PayPal

購入方法

以下のリンクから支払いページにお進みください。

「Auto Bulk Delete Post」プラグインの購入はこちら(PayPal)

お願い

商品の性質上、一度購入いただいたら返金はできませんのでご承知おきください。

プラグインの二次配布はお控えください。

購入の流れ

(1)PayPal支払い完了後、「サイトへ戻る」をクリックいただくと、「Auto Bulk Delete Post」ダウンロードページのリンクとパスワードが表示されます。

(2)パスワードはコピペして保存しておいてください。

(3)リンクをクリックしてダウンロードページに移動し、パスワードを入力します。

(4)ダウンロードページには、プラグインダウンロードリンクがあります。

(5)プラグインファイルをダウンロード保存してください。

よくあるご質問

【Q】プラグインに関する質問があります。

【A】お問い合わせページからご連絡ください。

お問い合せページはこちらをクリックしてください。

【Q】パスワードを忘れてしまったのですが。

【A】お問い合わせページからご連絡ください。

その際、以下の内容をご記入ください。

・PayPalのメールアドレス
・取引ID
・購入日時
・商品番号

「取引ID」「購入日時」「商品番号」は、お支払い完了時にPayPalから自動で返信されるメールに記載されています。

いただいた内容を確認の上、メールにてご連絡いたします。

【Q】ダウンロードページURLが分からなくなったのですが?

【A】こちらにございます。

【Q】複数のサイトで使いたいのですが?

【A】はい、お使いいただけます。

【Q】このプラグインのカスタマイズをしたいのですが?

【A】はい、ご自由に改変ください。カスタマイズ後のプラグインの二次配布はお控えください。

【Q】このプラグインのカスタマイズしてほしいのですが?

【A】お問い合わせページからご連絡ください。

お問い合せページはこちらをクリックしてください。

【Q】PayPal以外の支払い方法はありませんか?

【A】今のところ、PayPalのみです。

Version

2021.2.1 v2.0.1(削除対象数非表示化、spawn_cronをwgetに変更)
2020.1.31 v1.0.2.2 更新(バグ修正)
2019.10.28 v1.0.2 更新(バグ修正)
2019.9.2 v1.0.0 公開

コメント

タイトルとURLをコピーしました