web-dev-qa-db-ja.com

エディタでアップロードした画像をHTTPSでロードするにはどうすればよいですか?

私は自分のサイトの管理セクションにHTTPSを使っています。 TinyMCEエディタ(投稿とページのリッチテキストエディタ)内の画像がhttpsの代わりにhttpを使ってロードされることを除いて、これは非常にうまく機能します。

フロントエンドユーザーのために画像の実際のURLを変更したくありません。つまり、誰かがブログ投稿に通常アクセスしたときに、画像にプレーンHTTPをロードしたいのです。しかし、編集しているときはHTTPSがロードされているはずです。どうやってやるの?

1
cwd

これはそれをするはずです:

add_action('admin_notices', 'https_the_content');
function https_the_content() {

    global $post;

    if(!$post->post_content)
        return;

    //change src to use the current url scheme
    $post->post_content = str_replace(array("src=\"http://", "src='http://"), array("src=\"//", "src='//"), $post->post_content);   

    return $post->post_content;

}
1
Ijaas

画像が自分のサイトからホストされている場合にこれが機能するもう1つの方法は、URLのパス部分のみを使用して場所を指定することです(つまり、/images/stuff.jpghttp://mywordpresssite.com/images/stuff.jpg)。このようにすれば、httpsとhttpのどちらを使っていても正しく機能します。

1
fantapop