我知道这个话题已经讨论过,但似乎没有找到解决方案。这是我的情况: 我有一个现在有SSL的wordpress网站。但是,在主题资源中添加如下:
wp_enqueue_script( 'spectrumwp-conditional', get_template_directory_uri() . '/js/vendor/conditional.js', array('jquery'), null, true);
但是get_template_directory_uri()会返回http为https的网址。
你能帮我解决一下吗?
修改 我把它添加到我的wp-config.php文件
$_SERVER['HTTPS']='on';
资源链接显示为https://但不是,例如
https://www.exaple.com/wp-content/plugins/ ...
我有
https://www.example.com/plugins/LayerSlider/ ...
e.g。缺少wp-content文件夹
最终更新:
取消注释
define('FORCE_SSL_ADMIN', true);
并添加
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
{ $_SERVER['HTTPS']='on'; }
在行
之前/* That's all, stop editing! Happy blogging. */
解决了这个问题!只是,我建议不使用$ _SERVER ['HTTP_X_FORWARDED_PROTO'],因为它可能不够准确。
解决了!
答案 0 :(得分:1)
您需要使用is_ssl()来检查网站是否正在运行https://或http://
这是检查和重定向的钩子:
function check_if_https() {
if ( !is_ssl() ) {
wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
exit();
}
}
add_action ( 'template_redirect', 'check_if_https', 1 );
答案 1 :(得分:0)
进入设置 - >常规并检查网站网址。
听起来你遇到的问题是这个值仍然是HTTP,而不是HTTPS。谨慎处理此更改。确保您有一个有效的备份,并充分了解此URL需要更改的原因以及它将产生的影响。
get_template_directory_uri()
会在正确设置网站网址时自动提供HTTPS链接。