私は自分のサイトの管理セクションにHTTPSを使っています。 TinyMCEエディタ(投稿とページのリッチテキストエディタ)内の画像がhttpsの代わりにhttpを使ってロードされることを除いて、これは非常にうまく機能します。
フロントエンドユーザーのために画像の実際のURLを変更したくありません。つまり、誰かがブログ投稿に通常アクセスしたときに、画像にプレーンHTTPをロードしたいのです。しかし、編集しているときはHTTPSがロードされているはずです。どうやってやるの?
これはそれをするはずです:
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つの方法は、URLのパス部分のみを使用して場所を指定することです(つまり、/images/stuff.jpg
とhttp://mywordpresssite.com/images/stuff.jpg
)。このようにすれば、httpsとhttpのどちらを使っていても正しく機能します。