Relative URL」タグアーカイブ

WordPress で URL をすべて相対 URL にする方法

WordPress で SSL 対応した時に、プラグインが書き出すリンクやコンテンツ内のリンクが https:// にならずに哀しくなることはありませんか?
そんなときは、こんな感じのコードを functions.php に書いておけば、一発で全てのリンクを相対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, '/', $content);
	}
	function get_header(){
		ob_start(array(&$this, 'replace_relative_URI'));
	}
	function wp_footer(){
		ob_end_flush();
	}
}
new relative_URI();

ob_start() 関数を使っているので、ob_start() を使っているプラグインとは相性が悪いかもしれません。
# 例えば、私の作った Head Cleaner とか。