運営していたWordPressサイトを、後からマルチサイトに変更したいときがある。
例えばサーバの引っ越しで、今まで別のデータベースサーバに分けて置いていたものを、同じデータベースに置かなきゃいけなくなった場合。
何個も置くと管理が非効率だし、めんどくさいから、マルチサイトにしちゃいたい。
そんな感じで通常のWordPressサイトを、後でマルチサイト状態にする場合の変更方法。
通常のマルチサイトを作る方法については『WordPressマルチサイトでも、開発環境と本番環境にて、完全に同じファイルを使う方法』を参照ください。
データベースを変更
やることは『WordPressで後からデータベースの接頭辞($table_prefix)を変更』と、ほぼ同じ。
なので、まずこれをやる。
これに合わせて、以降マルチサイト化対象のテーブルは、$table_prefix『wp_2_』、つまりblog_id『2』を前提とする。
ネットワークの設定
管理画面の左上『参加サイト』→『サイトネットワーク管理』を使う。
『設定』(サイトネットワーク設定)にて、
『新規サイトおよびユーザーアカウントの登録をどちらも許可する。』をチェックして更新。
これをしないとメインサイト以外のブログの管理画面で、『プラグイン』や『外観』等が表示・操作出来なくなる。
ユーザの設定変更
せっかく直してもらった『wp_2_usermeta』『wp_2_users』だが、この2つは使わない。
『wp_usermeta』『wp_users』を共通で使用する。
ユーザ設定が同じ場合、変更する対象はないので、このままスルーでOK。
違う場合は少し厄介で、ユーザの追加とテーブル内容の書き換えが必要になる。
管理画面の左上『参加サイト』→『サイトネットワーク管理』を使う。
『サイト』にて、作ったアカウントで操作したいドメインにある『編集』を押す。
『サイトを編集: 【ブログ名】』で『ユーザー』にて
『新規ユーザーを追加』にて『権限グループ』を『管理者』にして作成する。
ここで今回は、ユーザIDを『3』と仮定する。
次はテーブルを書き換える
wo_postsの『author_id=3』の状態に書き換える。
コメント