お問い合わせはコチラから

WordPressでwp cliを使って重複している記事を削除する

サイト運営

CSVインポート経由で大量に記事を投稿した際に、あとから見たら同じ投稿がダブっていることに気が付きました。

インポート時にダブっている記事はslugに”-2″が付きます。

私の運用の場合、末尾が”-2″で終わるslugになる通常記事は無いので、”-2″で終わるslugは重複記事になります。

ただし、なにぶん数が多いので自動で消せないか調べました。

この記事では、重複記事をプラグインで削除する場合とwp cliを使って削除する場合について説明しています。

プラグインで重複記事を削除する

プラグインの使用も考えましたが同一記事の判定ロジックがイマイチでした。

Delete Duplicate Posts
Get rid of duplicate posts and pages (any post type) on your blog with manual or automatic modes.

プラグインは、記事のタイトルが同じだと重複と判定するようでしたが、今回はslugの重複(slugが”-2″で終わる)で判定してほしかったのです。

今回のケースは、記事のタイトルが同じものが結構あって、それだけで重複と判定されると困ります。

wp cliで重複記事を一括削除する

仕方ないので、重い腰を上げてwp cliで一括削除することにしました。

やっていることはそのままなのですが、wp cli でslug一覧を取得して、末尾に”-2″があるIDとslugを抽出し、post_idだけにcutしてから、 wp cli で一括削除しています。

wp post list --post_type=post \
--fields=ID,post_name \
--format=csv \
| egrep "\-2$" | cut -f1 -d, | xargs wp post delete --force
wp post list – WP-CLI Command | Developer.WordPress.org
Gets a list of posts.
wp post delete – WP-CLI Command | Developer.WordPress.org
Deletes an existing post.
この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

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