在Wordpress中通过HTTPS加载CSS和JS

时间:2014-06-04 17:13:56

标签: wordpress .htaccess http ssl https

我的一个网站是在Wordpress中。我在网站上设置了SSL。我想通过HTTP加载整个网站,除了1页我们称之为PAYMENTS。

当我点击菜单PAYMENTS时,我如何在Wordpress中实现它通过HTTPS加载它并通过HTTPS加载所有CSS和JS。因为当我在url:https://www.example.com/payments/中手动完成时,它加载时没有任何CSS和JS,因为它在源中通过HTTP加载时全部被阻止。

如果我在菜单中点击任何其他项目并返回HTTP,也希望实现这一点。

2 个答案:

答案 0 :(得分:5)

你可以让WordPress使用Protocol-Agonstic路径来获取CSS&通过将JavaScript添加到主题的functions.php中来实现JavaScript:

add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2);
function agnostic_script_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}

add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2);
function agnostic_style_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}

请注意,像WordPress Minify这样的插件不会改变脚本和插件的方式。样式包含在页面中,这种技术不适用于IE6(无论如何这不应该是一个问题)。

答案 1 :(得分:0)

使用与CSS和JS无关的路径,例如当你打电话给他们时,//代替http://。此外,一个名为WordPress HTTPS的精彩插件可以为您执行仅限一页的https: