我的一个网站是在Wordpress中。我在网站上设置了SSL。我想通过HTTP加载整个网站,除了1页我们称之为PAYMENTS。
当我点击菜单PAYMENTS时,我如何在Wordpress中实现它通过HTTPS加载它并通过HTTPS加载所有CSS和JS。因为当我在url:https://www.example.com/payments/中手动完成时,它加载时没有任何CSS和JS,因为它在源中通过HTTP加载时全部被阻止。
如果我在菜单中点击任何其他项目并返回HTTP,也希望实现这一点。
答案 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: