\’が付いてるtermの修正方法

  1. \’が付いてるtermのnameを\’無しに全て置換する
  2. 1のtermと1のtermのnameが被るterm(\’が付いてなかったterm)を洗い出す
  3. 2のtermを参照しているtaxonomyを洗い出す
  4. 3のtaxonomyの中から、正しくないtermを参照しているtaxonomyを洗い出す
  5. 4のtaxonomyを参照しているrelationshipを洗い出し、正しいtermを参照しているtaxonomyを参照させる
  6. 正しいtermが無い場合は作成してそれを参照させる
  • 正しいtermとはnameをsanitize_titleした物とslugが一致している物とする
  • 正しくないterm及びそのtermを参照しているtaxonomyは削除する
  • catlist、suggestlistを再生成する
  • 全てのサイトで行う

修正版。

  1. \’が付いてるtermとtaxonomyを直す。
    \’が付いてるtermとそのtermの\’を取ったtermが重複しているものを探して
    それを参照しているtaxonomyが\’無しのtermを参照するように直す。
    \’無しのtermが存在しない場合は作成する。
  2. 重複するtermを参照するtaxonomyとrelationshipsを直す。
    重複するtermを参照するtaxonomy、つまり重複するtaxonomyを探して1つに減らす。
    減らす基準としてはrelationshipsが参照するtaxonomyが多い物を残すのが良いが
    検索する効率が悪いので、term_taxonomy_idでorder byをして1つめに出てきたもの
    にする。
    例えば4つの重複するtaxonomyが有った場合、1つ目のtaxonomyを選択して、残りの
    3つのtaxonomyを参照するrelationshipsに1つ目のtaxonomyを参照させる。
    3つのtaxonomyとtermは削除する。
  3. slugを修正する。
    wp_termsのnameとslugが一致するか確かめて、一致しない場合は正しいslugに直す。
    slugが重複する場合があるので、重複した物はエラーとして扱いterm_idを控える。
    エラーとして出てきたtermを見て対策を考える。
  4. taxonomyから参照されていないtermを削除する。
termから\’を取り除く。
重複するtermを洗い出し、それに関連するtaxonomyを洗い出す。
洗い出したtermを一つにし、洗い出したtaxonomyを一つにしてtermに関連づける。
洗い出したtaxonomyに影響するrelationshipsを修正する。

コメントを残す