安全网站上的Cherry Framework“Font Awesome”问题

时间:2014-02-18 16:55:53

标签: php wordpress ssl

我正在使用我从Template Monster购买的主题设置电子商务网站。子主题使用Cherry Framework作为父主题。

我购买了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' />

1 个答案:

答案 0 :(得分:2)

要解决此问题,您有两种选择。您可以更新样式引用以使用HTTPS,或者如果您的项目由于防火墙限制而到达netdna.bootstrapcdn.com时,您可以在本地复制解决方案。

解决方案1:

  1. 通过您的子主题functions.php文件从父主题取消注册font-awesome,如下所示。
  2. 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' );  
    

    解决方案2:

    (注意:这会在本地复制Font-Awesome,所以要在将来应用任何Font-Awesome更新,您需要更新Font-Awesome的副本)

    1. http://fortawesome.github.io/Font-Awesome/
    2. 下载font-awesome的副本
    3. 提取zip并进入您的子主题
    4. 通过您的子主题functions.php文件从父主题取消注册font-awesome,如下所示。
    5. 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' );