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ではないですか?