XAMPP上で制作したWordpressのIPhoneテーマを確認したい。 MACがあればシュミレータで確認できるけどWINしかない。 IPhoneまたはTouchを持っている。
という、限られた条件の話。
XAMPPにLAN内からアクセスするには、XAMPPを使用しているPCのIPが分かればOKなので、コマンドプロンプトからipconfigと入力する。
WIN7だと、
IPv4アドレス・・・・192.168.xxx.xx
と表示される。
XAMPPでセキュリティの設定をしていなければ、このIPアドレスでIPhoneからアクセスするとXAMPPに繋がる。
※XAMPPでセキュリティ設定していないのに繋がらない場合は、PCのウイルスソフトやセキュリティソフトをチェック。外部からの通信を止めている場合がある。
IPhoneからWordpressにアクセス。
http://192.168.xxx.xx/wordpress/
CSSやリンクがおかしい。
あたり前といえばあたり前だが、Wordpressのインストールは「http://localhost/wordpress/」で行っているので、bloginfoで取得するURLやディレクトリはlocalhostになっている。
「http://localhost/wordpress/」を「http://192.168.xxx.xx/wordpress/」に全て変更するには、
Via:http://dogmap.jp/2011/03/18/wordpress-relative-url/
こちらのコードを使用してURLの書き換えを行う。
class relative_URI {
function relative_URI() {
add_action('get_header', array(&$this, 'get_header'), 1);
add_action('wp_footer', array(&$this, 'wp_footer'), 99999);
}
function replace_relative_URI($content) {
$home_url = trailingslashit(get_home_url('/'));
return str_replace($home_url, 'http://192.168.xxx.xx/wordpress/', $content);
}
function get_header(){
ob_start(array(&$this, 'replace_relative_URI'));
}
function wp_footer(){
ob_end_flush();
}
}
if (is_apple()) {
new relative_URI();
}
「get_home_url(‘/’)」で「http://localhost/wordpress/」が取得できるので、「str_replace」で「http://192.168.xxx.xx/wordpress/」に置き換えを行う。
「is_apple()」はWp_TouchのUAチェックを拝借し、IPhoneのみ残したもの。
$useragents = array(
'iPhone', // Apple iPhone
'iPod', // Apple iPod touch
'incognito', // Other iPhone browser
'webmate' // Other iPhone browser
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
これで、テスト環境はOK。
「XAMPPにLAN内のスマフォからアクセスする」への2件のフィードバック
日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)