実現したいこと
WordPressにおいて、お問合せページのみ共有SSLを適用したいです。具体的には、通常「http://www.example.co.jp/contact」となるページを、「https://example-co-jp.secure-web.jp/contact」にしたいです。
※諸事情により独自SSLを使用できません。
アドバイスをいただけると大変助かります。よろしくお願いいたします。
発生している問題・分からないこと
functions.phpに以下のコードを記述しました。(1)はうまくいき、共有SSLのページへリダイレクトは成功します。しかし、(2)でのCSSやJS、画像ファイルなどの読み込みができません。
デベロッパーツールを開いて<head>内を確認すると、CSSやJSなどのURLがhttps://www.example.or.jp/home/wp-content/themes/your_themeになっています。
CSSやJSを読み込むには、https://www.example-or-jp.secure-web.jp/home/wp-content/themes/your_themeとしなければいけないのですが、上手くいきません。
エラーメッセージ
error
1エラーというか、意図したコードが出力されずにCSSやJSなどのファイルが読み込まれません。
該当のソースコード
//(1)contactページのみ共有SSLを適用する function redirect_to_shared_ssl() { // 現在のURLがcontactページか確認 if (is_page('contact')) { // 共有SSLのURLにリダイレクト if (!is_ssl()) { wp_redirect('https://www.example-or-jp.secure-web.jp/contact'); exit(); } } } add_action('template_redirect', 'redirect_to_shared_ssl'); function use_shared_ssl_for_resources($src) { // (2)contactページで共有SSLを使っている場合のみ、リソースURLを変更 if (is_page('contact')) { $src = str_replace('http://www.example.or.jp/home/wp-content/themes/your_theme', 'https://www.example-or-jp.secure-web.jp/home/wp-content/themes/your_theme', $src); } return $src; } add_filter('style_loader_src', 'use_shared_ssl_for_resources'); add_filter('script_loader_src', 'use_shared_ssl_for_resources');
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
プラグインを探してみたり別のコードに書き直したり、.htaccessを書き直したりしてみましたが、変化はありませんでした。かつては「wordpress https」というプラグインで実現可能なようでしたが、今はもう使用不可のようです。
補足
サイトのドメインのURL:http://www.example.co.jp
共有SSL型サブドメインのURL:https://example-co-jp.secure-web.jp
サーバー:アルファメール2
WordPressのバージョン:WordPress 6.5.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。