mickey-kay/better-font-awesome-library

WordPress的更好Font Awesome库


README

将Font Awesome集成到您的WordPress项目的最简单方法。

目录

  1. 简介
  2. 功能
  3. 安装
  4. 使用
  5. 初始化参数
  6. 短代码
  7. 更好的Font Awesome库对象
  8. 过滤器
  9. 待办事项
  10. 致谢

简介

更好的Font Awesome库允许您自动将最新可用的Font Awesome版本集成到您的WordPress项目中,包括相应的CSS、短代码和TinyMCE图标短代码生成器。此外,它还生成您创建自定义功能所需的所有数据。

功能

  • 自动获取最新可用的Font Awesome版本,这意味着您不再需要手动更新主题/插件中包含的版本。
  • 生成一个易于使用的PHP对象,其中包含您正在使用的Font Awesome版本的有关所有相关信息,包括:版本、样式表URL、可用的图标数组和使用的前缀(iconfa)。
  • CDN速度 - Font Awesome CSS从超级快速且可靠的jsDelivr CDN获取。
  • 包含一个TinyMCE下拉短代码生成器。
  • 包含Font Awesome的本地副本,以备远程获取失败时使用(或您可以使用bfa_fallback_directory_path过滤器指定自己的副本)。
  • 使用transient优化速度和性能。

安装

建议通过Composer安装更好的Font Awesome库

composer require mickey-kay/better-font-awesome-library

或者,您可以选择手动安装库,这对于开发和/或自定义构建非常有用

git clone https://github.com/MickeyKay/better-font-awesome-library.git
cd better-font-awesome-library
npm run build

使用

  1. 将/better-font-awesome-library文件夹复制到您的项目中。

  2. 将以下代码添加到您的插件主文件或主题的functions.php文件中。

add_action( 'init', 'my_prefix_load_bfa' );
    /**
    * Initialize the Better Font Awesome Library.
    *
    * (see usage notes below on proper hook priority)
    */
    function my_prefix_load_bfa() {

    // Include the main library file. Make sure to modify the path to match your directory structure.
    require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );

    // Set the library initialization args (defaults shown).
    $args = array(
      'include_v4_shim'     => false,
      'remove_existing_fa'  => false,
      'load_styles'         => true,
      'load_admin_styles'   => true,
      'load_shortcode'      => true,
      'load_tinymce_plugin' => true,
    );

    // Initialize the Better Font Awesome Library.
    Better_Font_Awesome_Library::get_instance( $args );
}
  1. 如果需要,可以使用更好的Font Awesome库对象手动包含Font Awesome CSS、输出可用图标列表、创建您自己的短代码等等。

使用说明

更好的Font Awesome库旨在与Better Font Awesome WordPress插件一起使用。插件在init钩子(优先级5)上初始化此库(使用自己的初始化参数)。当在项目中使用更好的Font Awesome库时,您有两个选项

  1. 稍后初始化,以确保任何Better Font Awesome插件设置覆盖您的设置(这是默认行为,如上所示,在init钩子上以默认优先级10初始化库)。
  2. 尽早初始化,以“接管”并防止Better Font Awesome设置产生影响。

初始化参数($args)

以下参数可以用于使用Better_Font_Awesome_Library::get_instance( $args )初始化库

$args['include_v4_shim']

(布尔值) 包含Font Awesome v4 shim CSS样式表以支持旧版图标。

  • true
  • false(默认值)

$args['remove_existing_fa']

(布尔值) 尝试删除现有的Font Awesome样式和短代码。这可以防止与其他主题/插件冲突,但不能保证。

  • true
  • false(默认值)

$args['load_styles']

(布尔值) 自动在网站的前端加载 Font Awesome CSS,使用 wp_enqueue_scripts()

  • true(默认值)
  • false - 如果您不想在前端加载 Font Awesome CSS,或者希望自行加载,请使用此选项。

$args['load_admin_styles']

(布尔值) 使用 admin_enqueue_scripts() 自动在网站的 管理员 部分加载 Font Awesome CSS。

  • true(默认值)
  • false - 如果您不想在管理员部分加载 Font Awesome CSS,或者希望自行加载,请使用此选项。

$args['load_shortcode']

(布尔值) 加载包含的 [icon] 快捷方式

  • true(默认值)
  • false

load_tinymce_plugin

(布尔值) 加载可用的图标(基于活动 Font Awesome 版本)的 TinyMCE 下拉列表,并生成 [icon] 快捷方式。

  • true(默认值)
  • false

已弃用

$args['version'] (2.0.0)

现在库默认始终使用 Font Awesome 的最新可用版本。

(字符串) 您想使用的 Font Awesome 版本。

  • 'latest'(默认值)- 总是使用最新可用版本。
  • '3.2.1' - 任何现有的 Font Awesome 版本号。

$args['minified'] (2.0.0)

现在库默认始终使用压缩 CSS。

(布尔值) 使用压缩的 Font Awesome CSS。

  • true(默认值)- 使用压缩 CSS。
  • false - 使用未压缩 CSS。

短代码

如果将 $args['load_shortcode']$args['load_tinymce_plugin'] 初始化参数设置为 true,则 Better Font Awesome Library 将包含一个 [icon] 快捷方式,可以使用以下方式使用

[icon name="star" class="2x spin" unprefixed_class="my-custom-class"]

名称

无前缀的图标名称(例如,star)。版本特定的前缀将自动添加。

无前缀的 Font Awesome 图标类。版本特定的前缀将自动添加到每个类。

无前缀_class

您希望保留无前缀的任何其他类(例如,my-custom-class)。

样式

要使用的特定图标样式(例如,brand 与 solid)。

快捷方式输出

以下快捷方式

[icon name="moon" style="solid" class="2x spin" unprefixed_class="my-custom-class"]

. . . 将生成以下 HTML

<i class="fas fa-moon fa-2x fa-spin my-custom-class "></i>

更好的Font Awesome库对象

可以使用以下代码访问 Better Font Awesome Library 对象:Better_Font_Awesome_Library::get_instance();

该对象有以下公共方法

get_version()

(字符串) 返回正在使用的 Font Awesome 的活动版本。

get_stylesheet_url()

(字符串) 返回 Font Awesome 样式表 URL。

get_stylesheet_url_v4_shim()

(字符串) 返回 Font Awesome v4 shim 样式表 URL。

get_icons()

(数组) 返回关联数组,包含活动 Font Awesome 版本中所有可用图标的十六进制值(索引,例如 \f000)和无前缀图标名称(值,例如 rocket)。

get_release_icons()

(数组) 返回与 Font Awesome GraphQL API 提供的格式完全相同的图标数据。

get_release_assets()

(数组) 返回最新 Font Awesome 版本的图标资产(CSS/JS)数据。

get_prefix()

(字符串) 返回用于图标 CSS 类的版本相关前缀('fa' 或 'icon')。

get_errors()

(数组) 返回所有库错误,包括 API 和 CDN 获取失败。

已弃用

get_api_data() (2.0.0)

现在库不再依赖于 jsDelivr CDN。

(对象) 返回远程 jsDelivr CDN 的版本数据(使用 jsDelivr API)。包括所有可用版本和最新版本。

示例

// Initialize the library with custom args.
Better_Font_Awesome_Library::get_instance( $args );

// Get the active Better Font Awesome Library Object.
$my_bfa = Better_Font_Awesome_Library::get_instance();

// Get info on the Better Font Awesome Library object.
$version = $my_bfa->get_version();
$stylesheet_url = $my_bfa->get_stylesheet_url();
$prefix = $my_bfa->get_prefix();
$icons = $my_bfa->get_icons();

// Output all available icons.
foreach ( $icons as $icon ) {
    echo $icon . '<br />';
}

过滤器

Better Font Awesome Library 应用以下过滤器

bfa_init_args

在解析默认参数后应用,但在使用它们获取任何 Font Awesome 数据之前。

参数

  • $init_args (数组)

bfa_wp_remote_get_args

应用于所有 wp_remote_get() 调用的参数(如果需要,可以用来调整超时)。

参数

  • $wp_remote_get_args (数组)

bfa_fallback_release_data_path

应用于回退发布数据 JSON 文件的路径。可以用来指定替代回退数据文件。

参数

  • $fallback_release_data_path (字符串)

bfa_release_data_transient_expiration

该值控制插件多久检查一次 Font Awesome 的最新更新版本。可以用来增加/减少检查频率。

参数

  • $api_expiration (整数) (默认: WEEK_IN_SECONDS)

bfa_icon_list

应用于从 Font Awesome 样式表中生成的图标数组,在将其分配给 Better Font Awesome Library 对象的 $icons 属性之前。

参数

  • $icons (数组)

bfa_icon_class

应用于每个图标 <i> 元素输出的类。

参数

  • $class (字符串)

bfa_icon_tag

应用于每个图标输出的标签。默认是 'i',输出 <i>

参数

  • $tag (字符串)

bfa_icon

应用于为每个图标输出的整个 <i> 元素。

参数

  • $output (字符串)

bfa_show_errors

应用于布尔值,以确定是否抑制在管理员中通常显示的所有 Font Awesome 警告。

参数

  • $show_errors (true)

已弃用

bfa_fallback_directory_path

现在已被类似的 bfa_fallback_release_data_path 过滤器替换。 在设置任何回退 CSS 信息之前应用于回退目录路径。可以用来指定替代回退目录以替换默认回退目录。

路径必须指向本地非远程目录。

参数

  • $path (字符串)

bfa_api_transient_expiration (2.0.0)

这些数据现在来自 GraphQL API。新的 bfa_release_data_transient_expiration 替换了此旧过滤器。

应用于 API(版本信息)瞬态 过期。可以用来增加/减少过期时间。

参数

  • $api_expiration (整数)

bfa_css_transient_expiration (2.0.0)

这些数据现在不再必要。

应用于 CSS 样式表数据瞬态 过期。可以用来增加/减少过期时间。

参数

  • $css_expiration (整数)

bfa_force_fallback (2.0.0)

不应再需要强制回退。

应用于布尔值,以确定是否强制加载包含的 Font Awesome 回退版本。如果遇到延迟或超时问题,这可能很有用。

参数

  • $force_fallback (false)

bfa_prefix (2.0.0)

由于 v5+ 的更新,始终无需修改图标前缀。

应用于在将其分配给 Better Font Awesome Library 对象的 $prefix 属性之前 Font Awesome 前缀('fa' 或 'icon')。

参数

  • $prefix (字符串)

待办事项

有想法吗?提交问题或添加拉取请求!

  • 添加关于手动更新回退版本的 README 部分。
  • 移除现有的 FA? - 移动到更晚的钩子,使其能够通过短代码(基本上是 wp_footer)工作

致谢

特别感谢以下人员和他们的插件,为灵感和支持

还要感谢以下帮助测试和品质保证的各位