WordPress主题开发

如何在WordPress主题中使用Font Awesome

Font Awesome是一种矢量图标,或者叫图标字体,矢量的好处是无限缩放不会失真,可以适应各种尺寸的屏幕,省掉了做很多图片的麻烦。如果你想在自己的WordPress主题中使用Font Awesome,下面介绍了方法。

安装插件Font Awesome Icons

我的博客有很多代码,但今天我要把插件放在前面,不希望大家觉得在WordPress中使用插件就一定会降低性能。相反,我推荐使用插件,插件小巧灵活,即插即用,不想要也可以成本很低的舍弃。只有代码质量较低的插件才会降低网站性能。

Font Awesome Icons就是一个短小精悍的插件,功能只有两个:

  • 将Font Awesome的css和字体文件集成到WordPress
  • 提供调用图标的shortcode

第一个是必须的,而第二个绝对是锦上添花的功能。

使用代码集成

如果你要发布自己的主题,向用户提供font awesome作为一个卖点,下面是集成方法。

1. 下载Font Awesome,将font-asesome文件夹直接解压到你主题的根目录下

2. 打开主题的functions.php,添加如下代码

add_action( 'wp_enqueue_scripts', 'load_fontawesome_styles' );
function load_fontawesome_styles(){
	global $wp_styles;
	wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/font-awesome/css/font-awesome.min.css' );
	wp_enqueue_style( 'font-awesome-ie7', get_template_directory_uri() . '/font-awesome/css/font-awesome-ie7.min.css' );
	$wp_styles->add_data( 'font-awesome-ie7', 'conditional', 'lte IE 7' );
}

这段代码会引入font awesome主要的css文件,还会条件化加载修复ie7的css样式。

3. 大功告成,下面就是使用了,使用的方式很多,官方推荐的方法是用i标签加class来添加,例如

<i class="icon-camera-retro"></i>

当然,也可以将class应用到其它标签,就像使用字体一样,可以设定字号、颜色、阴影等属性。

具体使用方法可以看官方文档

其它说明

需要注意的是font-awesome的css文件和字体文件要保持对应关系,如果你更改了字体目录名称或者位置,不要忘记修改css文件。

具体说是修改font-awesome.css这个没压缩的文件,打开文件看开头的几行样式

@font-face {
  font-family: 'FontAwesome';
  src: url('../font/fontawesome-webfont.eot?v=3.1.0');
  src: url('../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.1.0') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');
  font-weight: normal;
  font-style: normal;
}

url里写的就是字体文件路径,根据自己的实际情况修改之。之后将其压缩,就可以用了。

11条评论

  1. Pingback: 在WordPress主题中使用Font Awesome图标字体 – 打酱油博客
  2. Pingback: WordPress主题模板优化,免插件代码功能集合-SeoMoz.Link
  3. Pingback: WordPress手工添加微博等分享按钮 | 梁佳宾的网络日志
  4. 使用fontawesome加载的文件是不是很大啊。看4.1的版本fonts文件夹里面有600多k

  5. wp_enqueue_style( ‘font-awesome’, get_template_directory_uri()
    是不是应该是这样啊
    wp_enqueue_style( ‘font-awesome’, get_template_directory_url()

    url误写成uri了。

  6. 很纳闷的是使用插件后和手写的代码一样,但是手写的代码就是调用不成功= =

评论已关闭。