php - 安全站点上的 Cherry Framework "Font Awesome"问题

标签 php wordpress ssl

我正在使用从 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,则可以在本地复制解决方案。

解决方案一:

  1. 如下所述,通过您的子主题 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 副本)

  1. http://fortawesome.github.io/Font-Awesome/ 下载 font-awesome 的副本
  2. 解压 zip 并放入您的子主题
  3. 如下所述,通过您的子主题 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/

相关文章:

php - 在 laravel 中包含 css 文件的层次结构以避免 css 覆盖

php - 在 CSS 表上循环 mysql 表值

javascript - 如何在前端的WP插件中进行AJAX调用

wordpress - 301重定向重定向不是指定的链接

windows - Windows 上的 Git - SSL 证书错误

ssl - 为多个域设置 httpS

php - 在每第三个循环后插入 tr

php - OpenSSL C++ 加密问题

css - WordPress导航菜单颜色,每个选定页面的更改

wordpress - 在 Magento 中保护其他 url