»

升级Font Awesome字体图标库到4.7.0版本方法

    网站建设  
web.config重定向Wp Super Cache伪静态CDN网站优化插件SEOwordpress服务器变量HTTP标头WP RocketWordPress插件又拍云CDN数据库爬虫工作缓存百度云加速前端CDN的问题腾讯云加速访客建站Apache

Font Awesome 字体图标库是基于 css 框架的网页字体图标库,它完全免费。可缩放矢量图标,它可以被定制大小、颜色、阴影以及任何可以用 css 的样式。相信很多网站的用户在使用该字体图标库。

不过,有些用户可能使用的是老版本的,并没有升级到新版本,因此需要升级一下,升级到Font Awesome 4.7.0,以优化网站体验效果。

 

怎么升级

 1. 直接在主题的 header.php 中添加类似的代码:

  1. <link rel="stylesheet" href="css 文件的地址(本地的或是其他地方的)">  

 

2. 或者使用函数向头部添加上述的代码:

  1. function add_stylesheet_to_head() {  
  2.     echo "<link href='css 文件的地址(本地的或是其他地方的)' rel='stylesheet' type='text/css'>";  
  3. }  
  4. add_action( 'wp_head', 'add_stylesheet_to_head' );  

 

3. Font Awesome 网站给出了他们自己的升级方法,需要引用他们提供的外链,例如:

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

  1. 复制 font-awesome 目录到你的项目中
  2. <head> 处加载 font-awesome.min.css 如下:
    • <link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css">

也可以使用 Font Awesome 提供的加速服务:输入自己的邮箱,确认之后会在邮箱中收到类似代码:<script src="https://use.fontawesome.com/your-code.js"></script> 。将此代码放到 <head> 标签最上面引用。这样既可以使用他们提供的 CDN 服务了。

 

其实,最好的办法还是将 Font Awesome 字库放到自己的网站上面,之后引入 css,免去引用外链的操作。但是问题来了:如果有别的程序或插件也这样向头部引入 css 文件咋整?因此,为了避免这样的错误,需要引入排队机制。使用 wp_enqueue_style() 函数。

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

 

主要步骤

1. 把老版本文件夹的字体移除,把新版字体文件复制到老版本文件夹里面。新版本的字体图标库可以到其网站下载,点此处

2. 把新版字体的 css 文件复制到主题文件夹中。

在下载的文件包中,有如下文件:

1-fontawesome-screenshot

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

其中文件夹 css 中 有两个 css 文件,一个是未压缩的,一个是压缩后的(min),可以自由选择其中一个。

 

本文禁止无授权转载 - 时光在路上 www.timezls.com 保留所有权利

2-fontawesome-screenshot

在 fonts 文件夹中有六个字体文件:

  • FontAwesome.otf
  • fontawesome-webfont.eot
  • fontawesome-webfont.svg
  • fontawesome-webfont.ttf
  • fontawesome-webfont.woff
  • fontawesome-webfont.woff2

这六个文件是我们所需要的,需要复制到自己主题的文件夹中,到底是哪个文件夹中,自己定(例如 自己主题中的 fonts 文件夹),到时候正确引用地址就行了。

 

3. 在自己主题中的 functions.php 文件中引入 font-awesome.css 文件到 网页头部。

如在下面的函数中:

  1. function mytheme_style() {  
  2.     wp_enqueue_style( 'style', get_stylesheet_uri(), array(), 'your_css_version'); 
  3.     //。。。 其他代码  
  4. }  
  5. add_action( 'wp_enqueue_scripts', 'mytheme_style' );  // wp_enqueue_scripts 表示在前台加载脚本和 css  

 

添加:wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css', array(), 'your_fonts_css_version'); ,引入 Font Awesome 的 css,得到:

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

  1. function mytheme_style() {  
  2.     wp_enqueue_style( 'style', get_stylesheet_uri(), array(), 'your_css_version');  // 此处引入主题 css,名字为 style
  3.     wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css', array(), 'your_fonts_css_version' );  // 引入字体 Font Awesome 字体 css,名字为 fonts
  4.     //。。。 其他代码  
  5. }  
  6. add_action( 'wp_enqueue_scripts', 'mytheme_style' );  // wp_enqueue_scripts 是在前台加载 css 动作的钩子 

 

解释:

  • 当有多个 css 需要加载时,可以通过 wp_enqueue_style() 函数排队加载,有三个动作钩子,分别为:
    • - wp_enqueue_scripts 表示在前台加载脚本或 css  
    • admin_scripts 表示在后台加载脚本或 css
    • - login_enqueue_scripts 表示在登录页面加载脚本或 css

    我们需要的是在前台加载 css,因此选择 wp_enqueue_scripts

  • get_template_directory_uri() 用来获得主题目录。

 

4. 删除原来 style.css 文件中相应的 Font Awesome 相关 css 设置(如果有的话),类似于:

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

  1. @font-face {  
  2.     font-family: 'FontAwesome';  
  3.     srcurl('css/fonts/fontawesome-webfont.eot?v=4.4.0');  
  4.     srcurl('css/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),  
  5.     url('css/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),  
  6.     url('css/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),  
  7.     url('css/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),  
  8.     url('css/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');  
  9.     font-weightnormal;  
  10.     font-stylenormal;  
  11. }  
  12.   
  13. .fa {  
  14.     displayinline-block;  
  15.     fontnormal normal normal 14px/1 FontAwesome;  
  16.     font-size: inherit;  
  17.     text-rendering: auto;  
  18.     -webkit-font-smoothing: antialiased;  
  19.     -moz-osx-font-smoothing: grayscale;  
  20. }  

 

弄完之后找个图标来试试,比如 <i class="fa fa-handshake-o"></i> 这个握手图标,可以显示为: 这样的图标在老版本字体图标库中是不能显示的。

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

需要升级字体图标库的朋友可以参照本文照猫画虎折腾一番。

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 3283字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →