WordPressで、デフォルトで「http://(https://)」から始まる絶対パスで出力されるURLを相対パスに変更する方法です。
functions.phpにソースコードを追加
テーマフォルダ内の「function.php」に以下のソースコードを追加します。これで出力されるパスが絶対パスから相対パスに変更されます。
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, '/', $content);
}
function get_header(){
ob_start(array(&$this, 'replace_relative_URI'));
}
function wp_footer(){
ob_end_flush();
}
}
new relative_URI();
ドメイン直下にWordPressがインストールされていない場合
WordPressがドメイン直下の/example/というディレクトリにインストールされているとします。その場合は、
return str_replace($home_url, '/', $content);
上記のソースの箇所を
return str_replace($home_url, '/example/', $content);
この様に変更します。
以上が、リンクURLを絶対パスを相対パスに変更する方法でした。