1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<?php namespace WpAssetCleanUp\OptimiseAssets;
use WpAssetCleanUp\Main; use WpAssetCleanUp\Plugin;
/** * Class LocalFonts * @package WpAssetCleanUp\OptimiseAssets */ class FontsLocal { /** * */ public function init() { add_action('wp_head', array($this, 'preloadFontFiles'), 1); }
/** * */ public function preloadFontFiles() { // AMP page or Test Mode? Do not print anything if ( Plugin::preventAnyFrontendOptimization() || Main::isTestModeActive()) { return; }
if (! $preloadFontFiles = trim(Main::instance()->settings['local_fonts_preload_files'])) { return; }
$preloadFontFilesArray = array();
if (strpos($preloadFontFiles, "\n") !== false) { foreach (explode("\n", $preloadFontFiles) as $preloadFontFile) { $preloadFontFile = trim($preloadFontFile);
if (! $preloadFontFile) { continue; }
$preloadFontFilesArray[] = $preloadFontFile; } } else { $preloadFontFilesArray[] = $preloadFontFiles; }
$preloadFontFilesArray = array_unique($preloadFontFilesArray);
$preloadFontFilesOutput = '';
// Finally, go through the list foreach ($preloadFontFilesArray as $preloadFontFile) { $preloadFontFilesOutput .= '<link rel="preload" as="font" href="'.esc_attr($preloadFontFile).'" data-wpacu-preload-font="1" crossorigin>'."\n"; }
echo apply_filters('wpacu_preload_local_font_files_output', $preloadFontFilesOutput); } }
|