WordPressテーマ TCDテーマ ロゴ画像をSSL化(HTTPS化)する方法
当サイトでは、デザインプラスが提供するWordPressテーマ「TCD」を利用しています。
今回、遅まきながらサイトのSSL化を試みました。
SSL証明を取得し、WordPressの設定をSSL化し、画像もSSL化対応したのですが、
いざ「https://univetech.com」とサイトを表示させてみると、
「混在コンテンツ」と完全なSSL通信ができていないではないですか!
※なお、WordPressのSSL化対応については、こちらの記事を参考にされると良いかと思います。
SSL化(HTTPS化)する前に知っておくべき4つの設定
一個づつ探してみると犯人はロゴ画像でした。。。
調べてみると、TCDテーマで使われている旧式のロゴアップローダーは、SSLに対応していないとのこと。
ロゴ画像のディレクトリURLを返す関数が使われているのですが、その返り値が必ずhttp://となるとのこと。
そこで、当該関数が使われている箇所の直後に、置換関数を使ってhttpをhttpsに無理やり変換してやる必要があります。
この関数が使われているファイルは、「functions/header-logo.php」。
このファイルの中に、下記のような記述があります。
/** * ロゴ画像を保存しているディレクトリのURLを返す * @return type */ function dp_logo_baseurl(){ $dir = wp_upload_dir(); return $dir['baseurl'].'/tcd-w'; }
この内容を次のようにカスタマイズします。
/** * ロゴ画像を保存しているディレクトリのURLを返す * @return type */ function dp_logo_baseurl(){ $dir = wp_upload_dir(); $dir_url = $dir['baseurl']; if(is_ssl()){ $dir_url_str = str_replace('http:', 'https:', $dir_url); }else{ $dir_url_str = $dir_url; } return $dir_url_str.'/tcd-w'; }
変更が終了したら、「テーマオプション」にて新たにロゴ画像をアップロード。
再度、「https://univetech.com」を表示したところ、
無事に「保護された通信」と表示されました。
Heya i am for the primary time here. I found this board and I find It really helpful & it helped me out a lot.
I hope to present something back and help others such as you helped me.