こちらは、タクソノミーのリンクを変更する方法ではなく、タクソノミーの名称自体を変更する方法になります。
タクソノミーの名称は基本的に途中で変更は出来ないのですが、データベースを直接操作すれば変えることが出来ます。
データベースを直接操作した事がなくても、手順としては難しくありません。
データベースに接続する
まずはデータベースにSSHで接続します。
接続する際の「ユーザ名・パスワード・ホスト名・テーブル名」は、wp-config.php
の MySQL settings に記載があるので確認してください。
// ** MySQL settings ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'local' );
/** MySQL database username */
define( 'DB_USER', 'root' );
/** MySQL database password */
define( 'DB_PASSWORD', 'pass' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
上記の場合のコマンドは下記になります。
mysql -u root -p -h localhost
※ ホストが localhost の場合、-h localhost
は省略可能です。
続けて、パスワードの入力を求められるので入力します。
Enter password: pass
接続が完了したら、データベースを選択します。
mysql > use local;
データベースを更新する
更新するテーブルは wp_term_taxonomy
テーブルになります。
テーブルのデータを確認してみます。
mysql > SELECT * from wp_term_taxonomy;
taxonomy の列に表示されているデータがタクソノミーの名称になります。
そして、データを更新します。categories
を news_categories
に更新する場合のSQL文は下記になります。
mysql > UPDATE wp_term_taxonomy SET taxonomy = 'news_categories' WHERE taxonomy = 'categories';
function.php の該当箇所を修正する
テーマファイルの該当箇所も修正します。
下記は、カスタム投稿タイプ news の場合の例になります。
register_taxonomy('categories', 'news', $args);
↓
register_taxonomy('news_categories', 'news', $args);
その他テンプレートの該当箇所を修正する
その他にもテーマ内にタクソノミー名を使用している箇所がないか全検索して修正しておきましょう。
最後に
データベースをSQLコマンドで更新するのはあまりやらない事かもしれませんが、今回の作業的にはそれほど難しいことではありません。
また、出来れば初期構築段階でタクソノミー名をよく考えてつけることも大事です。