ブログ プログラミング 趣味

ワードプレスのカテゴリーを強制的に削除する方法。【MySQL】

 

ワードプレス上でカテゴリーの編集が出来なくなるエラーが発生した時の対処法です。

 

僕のワードプレスではカテゴリーの欄が盛大にバグり、削除も編集も出来ず、おまけになぜか同じ名前のカテゴリーが複数(数十個)も作成され、かなりカオスな状態でした。

 

本来はこんな感じでチェックボックがあり編集できる。

 

カテゴリーの削除や編集が出来なくなるエラーはたまにあるようなので、まずは以下の1、2の対処法で直るかたが大半かと思います。

 

カテゴリーがバグった時の対処法

  1. 悪さをしているプラグインがないか調べて、削除または更新する。
  2. テーマを再インストールしてみる。
  3. MySQLに入ってデーターベースを直接いじる。

 

今回の僕の場合は1、2を試しても無駄だったので、3の”MySQLに入ってデーターベース上で直接いじる。”

ことにしました。

 

データーベースをいじるとエラーが起きる可能性があるので、必ずバックアップを取ってから試してくださいね。

 

まずはMySQLにログイン

 

今回はエックスサーバーでやっていきます。

 

僕の使っているのエックスサーバーでは、サーバーパネルから簡単にphpmyadmin(MySQL)にアクセスが出来ます。

 

【MySQLユーザ名】と【MySQL接続パスワード】を入力しよう。

 

MySQLにログインするには【MySQLユーザ名】と【MySQL接続パスワード】が必要になるので、用意しておきましょう。

 

無事にアクセスできたら、左側のタブから〇○_terms(私の場合はwp1_terms)と言う名前を探してクリックします。

 

削除したいカテゴリーのterm_idを調べる

 

すると右側のタブにデータが入ったテーブルが表示されるので、削除したいカテゴリーのterm_idを調べます。

 

 

私の削除したいterm_idは「0」でしたが、これが大量にありましたね・・・・300個くらい。笑(上記の画像は削除後のものです。)

 

なぜこんなことになったのか・・・怖いな。

 

原因を調べる能力が私にはないので、あまり深く考えずにとりあえずこの大量の無駄カテゴリーを削除します。

 

SQLでクエリを送る

 

削除したいカテゴリーのIDを調べたので、次にデーターベースから削除を実行していきます。

 

SQLのタブをクリックすると下記のような画面が出てくるので、コードを書き込む欄に

 

DELETE FROM `テーブル名` WHERE term_id = 削除したいカテゴリーのID

 

と書きます。

 

僕の場合はテーブル名が wp1_termsで消したいカテゴリーIDが0だったので、

 

DELETE FROM `wp1_terms` WHERE term_id = 0

 

となりました。

 

これだけでカテゴリーを直接消す準備はできました。

 

実行前にテストする

 

っが間違えたカテゴリーIDを実行してしまっては大変なので、必ず実行前にSimulate queryを押してテストしてください。

 

Simulate queryを押すと「Matched rows: X」というメッセージが返ってくると思います。

 

これは「削除対象となっているIDを持った行の数はX個あります。」と言う返り値なので、ここが予想している数字より大幅に多かったり、逆に少なかったりしたら間違ったカテゴリーIDを入力している可能性があるので、注意が必要です。

 

まあ普通は「1」が返ってくると思いますが念のため。

 

しっかりと確認が出来たら実行を押しましょう。

 

お疲れ様です!これでカテゴリーが削除できました。

 

まとめ

 

ネットで調べても、今回の僕のようにカテゴリーが盛大にバグったケースが見当たらなかったので、同じような症状にお困りの方の役に立てれば嬉しいです。

 

繰り返しになりますが、データーベースを直接いじるので必ずバックアップを取ってから実行するようにしてください。

 

-ブログ, プログラミング, 趣味
-,

Copyright© アルファなラフラ , 2020 All Rights Reserved Powered by AFFINGER5.