前提・実現したいこと
SSL導入をしたWordpressのhttpsサイトにて
httpサイトで配信されているフィードのサムネイル画像を使用したい。
発生している問題・エラーメッセージ
mix contentでSSL通信ではなくなってしまう。
試したこと
http:// → //
といった処理を行うと画像が取得できない。
何か他の方法がないか探したが、見つからなかった為
質問させて頂きました。
補足情報(FW/ツールのバージョンなど)
http// → //
で対応可能なものもあれば
省略してしまうと画像が取得できないものがあります。
何か方法をご存知の方がいましたら、ご教示下さい。
RSSの取得にはプラグインを使用
フィード取得先は画像配布サイトではなく
通常のブログです。
あくまでもブログ更新記事毎のサムネイルがSSL化で表示が行えれば良いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/04 10:12
回答2件
0
ベストアンサー
http:// → //
といった処理を行うと画像が取得できない。
この場合、参照先のサーバがHTTPSに対応していない事を意味しているため、
ブラウザから直接アクセスさせる方法では対応不可能です。
方法論としては一度Wordpressサーバ側で先方の画像を取得、
一時保存して自分のドメインの画像として表示させればHTTPSで表示が可能になります。
ただ、コピーして再配信ということになるので、元サイトが自己所有のもので無い場合は著作権上の問題や元サイトの利用規約に違反する可能性が出てくるので注意が必要です。
(法律的な部分は法律の専門家に専門するか、元サイトの管理者に許可を取って下さい。)
あくまでもブログ更新記事毎のサムネイルがSSL化で表示が行えれば良いです。
という事ですが、原理的にサーバ側で一回処理をしないといけないので、
今のプラグインを改造するか、機能が実現可能なプラグインを探してページを作り直すのどちらかが必要になるので、http://→// と同じくらいに簡単に出来る方法は無いと考えた方が良いです。
投稿2018/03/04 13:17
総合スコア18713
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/06 13:00 編集
0
$first_img = $matches[1];
の下に下記を追加したらどうでしょうか?
自サーバーに画像を保存して表示するやり方です。
初回のみ画像を保存して、画像があれば画像を表示するといった処理になっています。
php
1if(!empty($first_img)){ 2 3 4 // 画像URLからファイル名のみ取得 5 $image_name = substr(strrchr($first_img, "/"), 1); 6 7 //同じファイル名で違う画像だと保存されないので、ファイル名の最初に記事ID(rssの一意ID)とか付与できればベスト 8 //$image_name = '記事IDなどの一意のID'.'_'.$image_name; 9 10 // 画像を保存するパス(WordPressのアップロードディレクトリ) 11 $wp_upload_dir = wp_upload_dir(); 12 $upload_dir = $wp_upload_dir['basedir'] . '/rss_tmp/'; 13 14 // 画像ファイルが存在するかチェック 15 if (! file_exists($upload_dir . $image_name)) { 16 // 画像データを取得 17 if ($image_data = @file_get_contents($first_img)) { 18 19 // ディレクトリが無ければ作成 20 if (! is_dir($upload_dir)) { 21 mkdir($upload_dir); 22 } 23 24 // 画像をサーバーに保存する 25 file_put_contents($upload_dir . $image_name, $image_data); 26 } 27 } 28 // 画像URLを自サイトのURLに書き換える 29 $first_img = $wp_upload_dir['baseurl']. '/rss_tmp/'.$image_name; 30}
投稿2018/03/13 07:30
総合スコア14
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。