WordPressで、投稿済みの記事のカテゴリを一括変更(移動)したくなることがあります。同じテーマの記事が増えてきたのでサブカテゴリを作ろうかとか、独立したカテゴリを作ってそっちにまとめて移動させようかとか。
普通にありそうな欲求だとは思うのですが、どういうわけかWordPressの標準機能ではできません。もちろん、一記事一記事編集すれば可能ですが、それはあまりも面倒。記事が溜まってきたのでやろうって言うわけですから、まとめて効率よく操作したいですので。
というわけで、ここでは、その「カテゴリ一括変更」の手順を説明します。
なお、このようにカテゴリを整理する目的(メリット)は別記事として書きました。
新しいカテゴリを用意する
最初に移動先のカテゴリを作ります。既存のカテゴリに移動させるのなら、この手順はありませんから、飛ばしてください。
ここでは、「WordPress」カテゴリの下に新たに「プラグイン」というサブカテゴリを作ることにします。
普通の手順なので、詳細は割愛。
対象記事に移動先のカテゴリを割り当てる
「投稿一覧」で対象となる記事をピックアップします。カテゴリによる絞り込みやキーワードを使っての検索で拾い出します。
対象記事にチェックを入れ、「一括操作」で「編集」を選び、「適用」をクリック。
移動先のカテゴリにチェックを入れて「更新」ボタンを押します。
ここまではWordPressの標準機能です。これで移動してくれれば話は終りなのですが、残念ながらそうはなっていません。
ご覧のとおり、新たに割り当てたカテゴリ(プラグイン)はちゃんと付与されていますが、以前からのカテゴリ(WordPress)にも属したままです。まぁ、今回の場合は「WordPress」カテゴリの下にサブカテゴリとして作った「プラグイン」カテゴリなのでこのままでもいいといえばいいのですが。完全に別のカテゴリに移動したい場合はこれでは困ります。
旧カテゴリから抜く
ここからがある意味本題。カテゴリの所属をまとめて削除します。そのためにプラグインを使います。
Bulk remove posts from categoryプラグインをインストール
使用するプラグインはBulk remove posts from category。
インストールの手順も至って普通なので割愛。
インストールして有効化すれば使えるのですが、使い方がちょっと特殊。一般的なプラグインだと専用の画面がありますが、このBulk remove posts from categoryにはそれがないのです。どこにも見当たらず、しばらく悩みました^^;
カテゴリからの削除の操作
では、実際にカテゴリからの削除操作をやっていきます。
やり方は先程のカテゴリの追加の方法とほぼ同じ。「投稿一覧」で対象記事にチェックを入れて「一括操作」の「編集」を行います。この流れは先ほど度感染に同じです。
Bulk remove posts from categoryプラグインをインストールした後では、上の図のように「カテゴリー」の欄外に「Remove from category」というチェックボックが追加されています。これにチェックを入れると「Remove from category」が赤表示、かつ、カテゴリ一覧がグレーになって、モードが変ったことを示してくれます。
削除したいカテゴリ(ここでは「WordPress」)にチェックを入れて「更新」を押せば操作完了です。
期待通り「プラグイン」カテゴリだけになりました。
追加と削除という二段階になって少々面倒ではありますが、そこは仕方ないでしょう。ともかく、これで複数の記事をまとめてカテゴリを移動させることができました。
余談
実はこの記事を書く前にBulk remove posts from categoryを試して上手く動かずに悩みました。結局の所、WordPress 5.5との互換性の問題が起きていたようで、その修正版を出してくれてようやくカテゴリの移動(カテゴリからの削除)ができるようになりました。
また、このカテゴリの移動の話を探してみるとBatch Catというプラグインを使う方法を紹介した記事がたくさん見つかります。それでもいいのでしょうけど、いかんせんそのプラグインは古すぎます。
最終更新が9年前と、完全に放置状態。その間にWordPressは大きく様変りしていますので、ここまで古いものを使用するのは不安です。
やはり、ちゃんとメンテナンスされているものの方が安心です。
おかげさまでカテゴリの一括変換が無事にできました。
記事が大量にあったので苦労していましたので助かりました、ありがとうございます。
またおっしゃる通りで「Batch Cat」を勧める記事がありましたが、そもそもプラグインで検索しても出てこなくなっていて困っていました。
役に立ったようで嬉しく思います。