ローカルのWordPress環境でFacebookのコメント欄やOAuthの動作確認を可能にする(VCCW利用)

忘れないうちにメモ。

やりたいこと

VCCWで構築したローカルのWordPress環境でもFBのOAuthの実行確認をしたい。
これまではサーバにアップしてイチイチ確認していたので、とても面倒だった。なぜなら、FBデベロッパーでアプリ登録した際に入力したドメイン名と異なると、エラーとなり動いてくれないので、つまり本番のサブドメイン等の環境でしか動作確認出来ないと思いこんでいた。

ざっくり説明

localhost環境で、Facebook のJavaScript APIでOAuth認証をする - Goodpic
から一部引用。まさにコレ。

FacebookJavascript SDKを利用すると、ログインしているユーザーやウォールの情報を取得できます。ただし、FB.loginを呼ぶ際に、Facebookがページのドメイン名をチェックするので、localhost/test.html のようなURLだと、「The specified URL is not owned by the application」というエラーが発生する。それを防ぐために、localhost.goodpic.com というようなサブドメインを、ローカルのホストに設定します。

私の環境

作業手順

■手順1
HostsのVCCWのデフォルトドメインwordpress.local)を書き換える。
FBのアプリ登録で登録したドメインexample.com であれば、適当に local.example.com などに書き換える。

localhost環境で、Facebook のJavaScript APIでOAuth認証をする - Goodpic

■手順2
wp-config.php の 'WP_HOME' と 'WP_SITEURL' を新しいドメインに変更する。

■手順3
MySQLのデータで、VCCWのデフォルトドメイン名の部分を一括置換する。
これは便利なスクリプトがあるのでこれを使うのが吉。

WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう | infoScoop開発者ブログ

まとめ

ここまで書いててアレだけど、Chefレシピのドメイン名部分を最初から変更しておけば、こんな面倒なことはしなくて済むし、環境作っちゃった後でも、レシピ書き換えて環境作りなおしたほうが絶対早いと思う。。。