web-dev-qa-db-fra.com

Comment puis-je charger des images téléchargées dans l'éditeur avec HTTPS?

J'ai la section admin de mon site utilisant HTTPS. Cela fonctionne plutôt bien, sauf que les images à l'intérieur de l'éditeur TinyMCE (l'éditeur de texte enrichi de page et de page) se chargent avec http au lieu de https et je reçois donc un avertissement "contenu non sécurisé".

Je ne souhaite pas modifier l'URL réelle de l'image pour les utilisateurs frontaux; c'est-à-dire que lorsque quelqu'un visite le blog, je souhaite normalement que l'image soit chargée avec du HTTP simple. Mais lorsque j'édite, il devrait être chargé avec HTTPS. Comment puis je faire ça?

1
cwd

Cela devrait le faire:

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

Une autre façon de fonctionner si les images sont hébergées sur votre propre site consiste à spécifier l'emplacement en utilisant uniquement la partie chemin de l'URL (c'est-à-dire /images/stuff.jpg contre http://mywordpresssite.com/images/stuff.jpg). De cette façon, ils serviront correctement que vous soyez sur https ou http.

1
fantapop