我正在使用从 Template Monster 购买的主题设置电子商务网站。子主题使用 Cherry 框架作为父主题。
我购买了一个 SSL 证书并将其安装在我的服务器上,并通过 .htaccess 文件将所有非 HTTPS 请求重定向到 HTTPS。
所有浏览器都说正在加载不安全的内容,并询问我是否要继续。 Cherry Framework 的罪魁祸首是在“http”源链接到 Font Awesome 源。
wp_enqueue_style( 'font-awesome', 'http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css', false, '3.2.1', 'all' );
这段代码所在的文件是:
CherryFramework/includes/theme-scripts.php
function cherry_stylesheets() {
if ( CURRENT_THEME != 'cherry' ) {
if ( file_exists( CHILD_DIR . '/main-style.css' ) ) {
wp_enqueue_style( CURRENT_THEME, CHILD_URL . '/main-style.css', false, null, 'all' );
}
if ( file_exists( CHILD_DIR . '/includes/widgets/my-flickr-widget.php' ) ) {
wp_register_style( 'prettyPhoto', PARENT_URL.'/css/prettyPhoto.css', false, '3.1.5', 'all' );
wp_enqueue_style( 'prettyPhoto' );
}
}
wp_enqueue_style( 'font-awesome', 'http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css', false, '3.2.1', 'all' );
wp_register_style( 'magnific-popup', PARENT_URL.'/css/magnific-popup.css', false, '0.9.3', 'all' );
wp_enqueue_style( 'magnific-popup' );
}
add_action('wp_enqueue_scripts', 'cherry_stylesheets');
我更新了那行代码以指向 https 源文件。
wp_enqueue_style( 'font-awesome', 'https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css', false, '3.2.1', 'all' );
我将更新后的文件通过 FTP 传输到服务器,它覆盖了文件。
但是,当我刷新页面时,源代码显示它仍然链接到 http 源中的文件。
<link rel='stylesheet' id='font-awesome-css' href='http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css?ver=3.2.1' type='text/css' media='all' />
我没有安装任何 Wordpress 缓存插件。我也多次清除浏览器缓存。
有人知道为什么更新后的文件无法呈现正确的源代码吗?
<link rel='stylesheet' id='font-awesome-css' href='https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css?ver=3.2.1' type='text/css' media='all' />
最佳答案
要解决此问题,您有两种选择。您可以更新样式引用以使用 HTTPS,或者如果您的项目由于防火墙限制等原因无法访问 netdna.bootstrapcdn.com,则可以在本地复制解决方案。
解决方案一:
- 如下所述,通过您的子主题 functions.php 文件从父主题中取消注册 font-awesome。
function yourScriptsAndStyles() {
wp_deregister_style( 'font-awesome' );
wp_enqueue_style( 'font-awesome', 'https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css', false, '3.2.1', 'all' );
}
add_action( 'wp_enqueue_scripts', 'yourScriptsAndStyles' );
方案二:
(注意:这会在本地复制 Font-Awesome,因此要在将来应用任何 Font-Awesome 更新,您需要更新您的 Font-Awesome 副本)
- 从 http://fortawesome.github.io/Font-Awesome/ 下载 font-awesome 的副本
- 解压 zip 并放入您的子主题
- 如下所述,通过您的子主题 functions.php 文件从父主题中取消注册 font-awesome。
function yourScriptsAndStyles() {
wp_deregister_style( 'font-awesome' );
wp_enqueue_style( 'font-awesome', get_stylesheet_directory_uri() . '/font-awesome-4.0.3/css/font-awesome.css', false, '4.0.3', 'all' );
}
add_action( 'wp_enqueue_scripts', 'yourScriptsAndStyles' );
关于php - 安全站点上的 Cherry Framework "Font Awesome"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21860336/