WordPressカスタマイズ事例

ひとつのDBで同一デザインのWordPressサイトを複製するときに気を付けること

英語サイトもしっかりと運営される国際機関などになると、日本語サイトをWordPressで制作し、英語サイトを別のWordPressで制作する、なんてことがあります。
ただ、データベースは一つでやりたいという要望。

そうすると、日本語サイト用テーブルの prefix だけを変更した完コピテーブルを作成し英語サイト用テーブルにする、という構図になります。

英語サイト用テーブルを用意してファイル群も英語サイト用にコピペしたら、configファイルのprefixのところを英語サイト用に直します。

そして、その英語サイト用テーブルに対して、以前の記事
開発用ドメインでサイト実装が済んでいよいよ新サイト公開。本番用ドメインへの移行はどうするか?
で書いた流れで、日本語URLになっているレコードを英語URLに直す作業をします。
 
普通に考えれば、これでつながると思いますよね。
でも、WordPressでは、これだけではつながりません。
なんと、エラーを吐き出します。
 
「このページにアクセスするための十分なアクセス権がありません。」
 
!!
 
調べてみると、prefix付きのテーブル名がレコード内に存在しているのが原因でした。

wp_options
wp_usermeta

に対象のレコードが存在しています。
検索して探し出し、英語用のprefixに直しましょう。
 
・・・
 
でも、思いますよね。
configファイルでprefix設定してるんだから、普通 prefix付きのテーブル名をデータベースに記述しないでしょ!
って。
どういういきさつでそうなっているのか知りませんが、WordPressには珍しく残念な仕様ではあります。


関連するWordPressカスタマイズ事例