我的一个网站是在Wordpress中.我在网站上设置了SSL.我想通过HTTP加载整个网站,除了1页让我们称之为PAYMENTS.
当我点击菜单PAYMENTS时,我如何在Wordpress中实现它通过HTTPS加载它并通过HTTPS加载所有CSS和JS.因为当我在网址中手动执行时:https://www.example.com/payments/它加载时没有任何CSS和JS,因为它全部被阻止,因为它在源中通过HTTP加载.
如果我在菜单中点击任何其他项目并返回HTTP,也想实现这一点.
你可以通过将这个添加到你的主题的functions.php中来让WordPress使用CSS和JavaScript的Protocol-Agonstic路径:
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); }
请注意,像Better WordPress Minify这样的插件不会改变页面中包含脚本和样式的方式,而且这种技术不适用于IE6(现在不应该关注这个问题).