WordPressを使ってて、試しにサイトをSSL対応しようっ!
って思ったのですが、画像のパスがhttp://~ってなってるので
httpsでアクセスしたのに、httpが混在してるよってことで
アラートがでちゃってる。。。
でも、そこはさすがWordPress!!
安心してください!
簡単に解決できますよー
function.phpに以下のコードを追加するだけ!
function delete_host_from_attachment_url( $url ) {
$regex = '/^http(s)?:\/\/[^\/\s]+(.*)$/';
if ( preg_match( $regex, $url, $m ) ) {
$url = $m[2];
}
return $url;
}
add_filter('wp_get_attachment_url', 'delete_host_from_attachment_url' );
add_filter('attachment_link', 'delete_host_from_attachment_url');
「wp_get_attachment_url」で画像ファイル
「attachment_link」でリンクが反映されるよー
画像のpassが、見事ルート相対パスに!
・修正前
http://xxxxx.com/aaa.jpg
・修正後
/aaa.jpg
もしくは、
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();

コメント
こんにちは。functions.phpではないですか?