WP: 既存のカテゴリやタグをカスタム分類へ移動する

WordPress、既存のカテゴリやタグをカスタム分類、タクソノミーへ移動する方法。
データベース wp_term_taxonomyテーブルtaxonomyフィールドをUIやコマンドラインで変更、移動する。SQLでUPDATEで一括変更が可能。
管理画面のカスタマイズ
既存のカテゴリやタグをカスタム分類へ移動する方法
プラグインが探せなかったので、SQLで直接変更する。
くれぐれも注意です。データベースのバックアップを取ってから作業すること。
私の環境はmySqlなのでphpMyadminを使い操作した。
既存のtaxonomyをカスタム分類で設定したtaxonomyへ変更
タクソノミー: category(既存) / post_tag(既存) / region(カスタム)
親を残して子だけを移動
カテゴリ>親カテゴリの地域(term_id = 66)直下のカテゴリをカスタム分類(地域:taxonomy = region)へ移動する
親子ともども移動する
カテゴリを一括でカスタム分類へ移動する
参考情報リンク
WordPressのデータベースのテーブルってどうなってるの? | WPスイッチ
データベース構造 - WordPress Codex 日本語版
くれぐれも注意です。データベースのバックアップを取ってから作業すること。
私の環境はmySqlなのでphpMyadminを使い操作した。
既存のtaxonomyをカスタム分類で設定したtaxonomyへ変更
タクソノミー: category(既存) / post_tag(既存) / region(カスタム)
親を残して子だけを移動
カテゴリ>親カテゴリの地域(term_id = 66)直下のカテゴリをカスタム分類(地域:taxonomy = region)へ移動する
UPDATE `wp_term_taxonomy` SET `taxonomy` = 'area' WHERE `parent` = 66
親子ともども移動する
UPDATE `wp_term_taxonomy` SET `taxonomy` = 'area' WHERE (`term_id` = 43 or `parent` = 43) AND `taxonomy` = 'category'親子ともども引っ越した場合、ワードプレスで親は表示されたが、子が表示されなかったケースがあった(リストに表示されていないが項目数は合っている)。そこで、ワードプレスで親を編集(内容の変更なし)で更新すれば子が認識された。
カテゴリを一括でカスタム分類へ移動する
UPDATE `wp_term_taxonomy` SET `taxonomy` = 'area' WHERE `term_id` IN (10,11,12)上記と同じ結果を返すが、正規表現を使うならid以外を条件に指定する場合は強力使える
UPDATE `wp_term_taxonomy` SET `taxonomy` = 'area' WHERE `term_id` REGEXP '10|11|12'
参考情報リンク
WordPressのデータベースのテーブルってどうなってるの? | WPスイッチ
データベース構造 - WordPress Codex 日本語版
Keyword:カスタム分類