$font_face = ''; $iconfonts = self::get_all_iconfonts(); foreach ($iconfonts as $font_family => $config) { $font_url = trailingslashit($config['font_url']) . $font_family; $font_ver = isset($config['version']) ? strstr($config['version'], '?') : ''; // Check for charmap before creating font-face inline styles. $charmap = path_join($config['font_dir'], $config['charmap']); if ($charmap && is_readable($charmap)) { $font_face .= self::create_font_face($font_family, $font_url, $font_ver); } } if ($font_face) { wp_add_inline_style(is_admin() ? 'axiscomposer-admin' : 'axiscomposer-general', $font_face); } } /** * Create iconfont font-face styles. * @param string $font_family * @param string $font_url * @param string $font_ver * @return string */ private static function create_font_face($font_family, $font_url, $font_ver) { $ampersand = empty($font_ver) ? '' : str_replace('?', '&', $font_ver); $font_face = "\n\t\t@font-face {\n\t\t font-family: '{$font_family}';\n\t\t src:url('{$font_url}.eot{$font_ver}');\n\t\t src:url('{$font_url}.eot#iefix{$ampersand}') format('embedded-opentype'),\n\t\t url('{$font_url}.woff{$font_ver}') format('woff'),\n\t\t url('{$font_url}.ttf{$font_ver}') format('truetype'),\n\t\t url('{$font_url}.svg{$font_ver}#{$font_family}') format('svg');\n\t\t font-weight: normal;\n\t\t font-style: normal;\n\t\t}\n\t\tbody .axiscomposer-font-{$font_family},\n\t\tbody .axiscomposer-font-{$font_family} span,\n\t\tbody [data-iconfont='{$font_family}']:before {\n\t\t font-family: '{$font_family}';\n\t\t}\n\t\t"; return $font_face; } } AC_Iconfont::init();