Use Any Font - Version 6.1

Version Description

  • Added 23,871+ Predefined fonts which are available for both free and commercial use.
  • Added auto cache clear for popular cache plugin.
Download this release

Release Info

Developer dnesscarkey
Plugin Icon 128x128 Use Any Font
Version 6.1
Comparing to
See all releases

Code changes from version 6.0.5 to 6.1

includes/assets/css/uaf_admin.css CHANGED
@@ -4,7 +4,9 @@ span.active_key{font-weight:bold; color:#060; padding-right: 20px;}
4
  .font_holder{background: #fff;border-radius: 5px;border: 1px solid #dadce0;}
5
  .font_holder{ padding: 10px; margin: 0px 0px 10px 0px; }
6
  .font_holder .font_meta .font_name{font-weight: bold; float: left;}
 
7
  .font_holder .font_meta .delete_link{ float: right; }
 
8
  .font_holder .font_demo{ clear: both; padding-top: 10px; font-size: 25px !important; line-height: 30px !important; }
9
  .font_holder .fontclassname{text-align: right; float: right;}
10
  .elements_holder{ float: left; width: 220px; display: block; }
@@ -46,4 +48,11 @@ span.active_key{font-weight:bold; color:#060; padding-right: 20px;}
46
  .dcwidget .dcwidgetheader{ background: #04a2c7; color: #fff !important; padding: 15px 10px; border-radius: 5px 5px 0px 0px; font-size: 14px;}
47
  .dcwidget .dcwidgetbody{ background: #fff; border-radius: 0px 0px 5px 5px;padding:10px; margin-bottom: 20px;}
48
  span.field_error{ display: none; color: #900; }
49
- @media ( max-width: 768px) { .dchideMobile { display : none; } }
 
 
 
 
 
 
 
4
  .font_holder{background: #fff;border-radius: 5px;border: 1px solid #dadce0;}
5
  .font_holder{ padding: 10px; margin: 0px 0px 10px 0px; }
6
  .font_holder .font_meta .font_name{font-weight: bold; float: left;}
7
+ .font_holder .font_meta .font_name em{font-weight: normal;}
8
  .font_holder .font_meta .delete_link{ float: right; }
9
+ .font_holder .font_meta .add_font_link{ float: right; }
10
  .font_holder .font_demo{ clear: both; padding-top: 10px; font-size: 25px !important; line-height: 30px !important; }
11
  .font_holder .fontclassname{text-align: right; float: right;}
12
  .elements_holder{ float: left; width: 220px; display: block; }
48
  .dcwidget .dcwidgetheader{ background: #04a2c7; color: #fff !important; padding: 15px 10px; border-radius: 5px 5px 0px 0px; font-size: 14px;}
49
  .dcwidget .dcwidgetbody{ background: #fff; border-radius: 0px 0px 5px 5px;padding:10px; margin-bottom: 20px;}
50
  span.field_error{ display: none; color: #900; }
51
+ @media ( max-width: 768px) { .dchideMobile { display : none; } }
52
+
53
+
54
+ .uaf_search_bar{ padding: 10px 10px 20px 10px; position: relative;width: 80%; max-width: 500px; margin: 10px auto 0px auto; }
55
+ .uaf_search_bar input[type=search]{ display: block; width: 100%; padding: 3px;}
56
+ .uaf_search_bar input[type=submit]{ display: inline-block; position: absolute;right: 12px;top: 13px;}
57
+
58
+ #predefined_font_load_msg{ text-align: center;color:#04a2c7; }
includes/functions/uaf_admin_functions.php CHANGED
@@ -35,6 +35,11 @@ function uaf_interface(){
35
  include UAF_FILE_PATH.'includes/views/uaf_main.php';
36
  }
37
 
 
 
 
 
 
38
  function uaf_get_options(){
39
  $uaf_user_settings = $GLOBALS['uaf_user_settings'];
40
  foreach ($uaf_user_settings as $option_name => $option_value) {
@@ -243,5 +248,10 @@ function uaf_trigger_actions(){
243
  if (isset($_POST['save-uaf-options'])){
244
  $actionReturn = uaf_save_options();
245
  }
 
 
 
 
 
246
  $GLOBALS['uaf_action_return'] = $actionReturn;
247
  }
35
  include UAF_FILE_PATH.'includes/views/uaf_main.php';
36
  }
37
 
38
+ function uaf_predefined_font_interface(){
39
+ include UAF_FILE_PATH.'includes/views/uaf_predefined_fonts.php';
40
+ wp_die();
41
+ }
42
+
43
  function uaf_get_options(){
44
  $uaf_user_settings = $GLOBALS['uaf_user_settings'];
45
  foreach ($uaf_user_settings as $option_name => $option_value) {
248
  if (isset($_POST['save-uaf-options'])){
249
  $actionReturn = uaf_save_options();
250
  }
251
+
252
+ if (isset($_GET['predefinedfontid'])){
253
+ $actionReturn = uaf_add_pre_defined_font($_GET['predefinedfontid']);
254
+ }
255
+
256
  $GLOBALS['uaf_action_return'] = $actionReturn;
257
  }
includes/functions/uaf_cache_functions.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ function uaf_clear_plugins_cache(){
5
+ if (function_exists('sg_cachepress_purge_cache')) {sg_cachepress_purge_cache();} // FOR SG OPTIMIZER
6
+ if (function_exists('w3tc_flush_all')){w3tc_flush_all();} // FOR W3 TOTAL CACHE
7
+ if (function_exists('wpfc_clear_all_cache')){wpfc_clear_all_cache(true);} // FOR WP Fastest Cache
8
+ if (function_exists('wp_cache_clear_cache')){wp_cache_clear_cache();} // FOR WP Super Cache
9
+ if (function_exists('rocket_clean_domain')){rocket_clean_domain();} // FOR WP ROCKET
10
+ if (class_exists( 'WpeCommon' ) && method_exists( 'WpeCommon', 'purge_memcached' ) ) { // FOR WP ENGINE
11
+ WpeCommon::purge_memcached();
12
+ WpeCommon::purge_varnish_cache();
13
+ }
14
+ if (class_exists('LiteSpeed_Cache_API') && method_exists('LiteSpeed_Cache_API', 'purge_all') ) { // FOR LITE SPEED
15
+ LiteSpeed_Cache_API::purge_all();
16
+ }
17
+ if (class_exists('Cache_Enabler') && method_exists('Cache_Enabler', 'clear_total_cache') ) { // FOR CACHE ENABLER
18
+ Cache_Enabler::clear_total_cache();
19
+ }
20
+ if (class_exists('PagelyCachePurge') && method_exists('PagelyCachePurge','purgeAll') ) { // FOR PAGELY
21
+ PagelyCachePurge::purgeAll();
22
+ }
23
+ if (class_exists('autoptimizeCache') && method_exists( 'autoptimizeCache', 'clearall') ) { // FOR AUTOOPTIMIZSE
24
+ autoptimizeCache::clearall();
25
+ }
26
+ if (class_exists('comet_cache') && method_exists('comet_cache', 'clear') ) { // FOR COMET CACHE
27
+ comet_cache::clear();
28
+ }
29
+ if (class_exists('\Hummingbird\WP_Hummingbird') && method_exists('\Hummingbird\WP_Hummingbird', 'flush_cache')) { // FOR HUMINBIRD CACHE
30
+ \Hummingbird\WP_Hummingbird::flush_cache();
31
+ }
32
+ if (class_exists( '\Kinsta\Cache' ) && !empty( $kinsta_cache ) ) { // FOR KINSTA CACHE
33
+ $kinsta_cache->kinsta_cache_purge->purge_complete_caches();
34
+ }
35
+ if (class_exists( '\WPaaS\Cache' ) ) { // FOR GODADDY Cache
36
+ ccfm_godaddy_purge();
37
+ }
38
+ if ( class_exists( 'Breeze_Admin' ) ) { // FOR BREEZE (Cloudways)
39
+ do_action('breeze_clear_all_cache');
40
+ }
41
+ }
42
+
43
+ function uaf_check_if_cdn_plugin_in_use(){ // NOT BEING USED NOW.
44
+ //if (function_exists('sg_cachepress_purge_cache')) {return true;} // IS SG OPTIMIZER ENABLED.
45
+ //return false;
46
+ }
includes/functions/uaf_font_functions.php CHANGED
@@ -26,7 +26,7 @@ function uaf_get_font_families(){
26
  return $fonts_uaf;
27
  }
28
 
29
- function uaf_save_font_files($font_name, $convertResponse){
30
  uaf_create_folder(); // CREATE FOLDER IF DOESN"T EXISTS
31
  $uafPath = uaf_path_details();
32
  $fontNameToStore = sanitize_file_name(rand(0,9999).$font_name);
@@ -75,7 +75,7 @@ function uaf_save_font_files($font_name, $convertResponse){
75
  endif;
76
  endforeach;
77
  else:
78
- uaf_save_font_entry_to_db($font_name, $fontNameToStore);
79
  $fontUploadFinalResponse['status'] = 'success';
80
  $fontUploadFinalResponse['body'] = 'Font Uploaded';
81
  endif;
@@ -153,14 +153,14 @@ function uaf_create_folder() {
153
  }
154
  }
155
 
156
- function uaf_save_font_entry_to_db($font_name, $font_path){
157
  $fontsRawData = get_option('uaf_font_data');
158
  $fontsData = json_decode($fontsRawData, true);
159
  if (empty($fontsData)):
160
  $fontsData = array();
161
  endif;
162
 
163
- $fontsData[date('ymdhis')] = array('font_name' => sanitize_title($font_name), 'font_path' => $font_path);
164
  $updateFontData = json_encode($fontsData);
165
  update_option('uaf_font_data',$updateFontData);
166
  uaf_write_css();
@@ -248,6 +248,7 @@ function uaf_write_css(){
248
  ob_end_clean();
249
  update_option('uaf_css_updated_timestamp', time()); // Time entry for stylesheet version
250
  update_option('uaf_site_url', base64_encode(home_url()));
 
251
  }
252
 
253
 
@@ -388,4 +389,50 @@ function uaf_delete_font_assign(){
388
  $return['status'] = 'success';
389
  $return['body'] = 'Font assign removed';
390
  return $return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
391
  }
26
  return $fonts_uaf;
27
  }
28
 
29
+ function uaf_save_font_files($font_name, $convertResponse, $predefined_font_id = ''){
30
  uaf_create_folder(); // CREATE FOLDER IF DOESN"T EXISTS
31
  $uafPath = uaf_path_details();
32
  $fontNameToStore = sanitize_file_name(rand(0,9999).$font_name);
75
  endif;
76
  endforeach;
77
  else:
78
+ uaf_save_font_entry_to_db($font_name, $fontNameToStore, $predefined_font_id);
79
  $fontUploadFinalResponse['status'] = 'success';
80
  $fontUploadFinalResponse['body'] = 'Font Uploaded';
81
  endif;
153
  }
154
  }
155
 
156
+ function uaf_save_font_entry_to_db($font_name, $font_path, $predefined_font_id = ''){
157
  $fontsRawData = get_option('uaf_font_data');
158
  $fontsData = json_decode($fontsRawData, true);
159
  if (empty($fontsData)):
160
  $fontsData = array();
161
  endif;
162
 
163
+ $fontsData[date('ymdhis')] = array('font_name' => sanitize_title($font_name), 'font_path' => $font_path, 'predefined_font_id' => $predefined_font_id);
164
  $updateFontData = json_encode($fontsData);
165
  update_option('uaf_font_data',$updateFontData);
166
  uaf_write_css();
248
  ob_end_clean();
249
  update_option('uaf_css_updated_timestamp', time()); // Time entry for stylesheet version
250
  update_option('uaf_site_url', base64_encode(home_url()));
251
+ uaf_clear_plugins_cache(); // CLEAN plugin's cache.
252
  }
253
 
254
 
389
  $return['status'] = 'success';
390
  $return['body'] = 'Font assign removed';
391
  return $return;
392
+ }
393
+
394
+ function uaf_get_uploaded_predefined_fonts(){
395
+ $fontsRawData = get_option('uaf_font_data');
396
+ $fontsData = json_decode($fontsRawData, true);
397
+ $predefindFonts = array();
398
+ if (!empty($fontsData)){
399
+ foreach ($fontsData as $fontKey => $fontData) {
400
+ if (isset($fontData['predefined_font_id']) && !empty(trim($fontData['predefined_font_id']))){
401
+ $predefindFonts[] = $fontData['predefined_font_id'];
402
+ }
403
+
404
+ }
405
+ }
406
+ return $predefindFonts;
407
+ }
408
+
409
+ function uaf_add_pre_defined_font($fontId){
410
+ $url = $GLOBALS['uaf_user_settings']['uaf_server_url']. '/uaf_convertor/import_predefine_font.php';
411
+ $response = wp_remote_post( $url, array(
412
+ 'method' => 'POST',
413
+ 'redirection' => 5,
414
+ 'httpversion' => '1.0',
415
+ 'timeout' => 10000,
416
+ 'body' => array(
417
+ 'api_key' => $GLOBALS['uaf_user_settings']['uaf_api_key'],
418
+ 'url' => base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']),
419
+ 'font_count' => uaf_count_uploaded_fonts(),
420
+ 'font_id' => $fontId
421
+ )
422
+ )
423
+ );
424
+ if ( is_wp_error( $response ) ) {
425
+ $error_message = $response->get_error_message();
426
+ $return['status'] = 'error';
427
+ $return['body'] = "Something went wrong: $error_message";
428
+ } else {
429
+ $responseArray = json_decode($response['body'], true);
430
+ if ($responseArray['global']['status'] == 'error'):
431
+ $return['status'] = 'error';
432
+ $return['body'] = $responseArray['global']['msg'];
433
+ else:
434
+ $return = uaf_save_font_files($responseArray['global']['font_name'], $response['body'], $fontId);
435
+ endif;
436
+ }
437
+ return $return;
438
  }
includes/uaf_config.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit;
3
 
4
- $GLOBALS['uaf_current_version'] = '6.0.5';
5
 
6
 
7
  $GLOBALS['uaf_fix_settings'] = array(
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit;
3
 
4
+ $GLOBALS['uaf_current_version'] = '6.1';
5
 
6
 
7
  $GLOBALS['uaf_fix_settings'] = array(
includes/views/uaf_font_upload_js.php CHANGED
@@ -1,5 +1,12 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
- <p align="right"><input type="button" name="open_add_font" onClick="open_add_font();" class="button-primary" value="Add Fonts" /><br/></p>
 
 
 
 
 
 
 
3
 
4
 
5
  <div id="font-upload" style="display:none;">
@@ -27,7 +34,7 @@
27
  <label>&nbsp;</label>
28
  <span class="field">
29
  <span id="font_upload_message" class=""></span>
30
- <input type="hidden" name="url" value="<?php echo base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']); ?>" />
31
  <input type="hidden" name="api_key" value="<?php echo $GLOBALS['uaf_user_settings']['uaf_api_key']; ?>" />
32
  <input type="hidden" name="font_count" value="<?php echo uaf_count_uploaded_fonts(); ?>" />
33
  <input type="hidden" name="convert_response" id="convert_response" value="" />
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+ add_thickbox();
3
+ ?>
4
+ <p align="right">
5
+ <input type="button" name="open_add_font" onClick="open_add_font();" class="button-primary" value="Upload Fonts" />
6
+
7
+ <a href="<?php echo admin_url( 'admin-ajax.php' ); ?>?action=uaf_predefined_font_interface&width=800&height=550" class="thickbox button-primary" title="Add Predefined Fonts (Personal and Commercial Use)" >Add Predefined Fonts</a>
8
+
9
+ <br/></p>
10
 
11
 
12
  <div id="font-upload" style="display:none;">
34
  <label>&nbsp;</label>
35
  <span class="field">
36
  <span id="font_upload_message" class=""></span>
37
+ <input type="hidden" name="url" value="<?php echo base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']); ?>" />
38
  <input type="hidden" name="api_key" value="<?php echo $GLOBALS['uaf_user_settings']['uaf_api_key']; ?>" />
39
  <input type="hidden" name="font_count" value="<?php echo uaf_count_uploaded_fonts(); ?>" />
40
  <input type="hidden" name="convert_response" id="convert_response" value="" />
includes/views/uaf_font_upload_php.php CHANGED
@@ -1,5 +1,12 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
- <p align="right"><input type="button" name="open_add_font" onClick="open_add_font();" class="button-primary" value="Add Fonts" /><br/></p>
 
 
 
 
 
 
 
3
 
4
  <div id="font-upload" style="display:none;">
5
  <div class="dcform">
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+ add_thickbox();
3
+ ?>
4
+ <p align="right">
5
+ <input type="button" name="open_add_font" onClick="open_add_font();" class="button-primary" value="Upload Fonts" />
6
+
7
+ <a href="<?php echo admin_url( 'admin-ajax.php' ); ?>?action=uaf_predefined_font_interface&width=800&height=550" class="thickbox button-primary" title="Add Predefined Fonts (Personal and Commercial Use)" >Add Predefined Fonts</a>
8
+
9
+ <br/></p>
10
 
11
  <div id="font-upload" style="display:none;">
12
  <div class="dcform">
includes/views/uaf_predefined_fonts.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+ $predefinedUplaodedFonts = uaf_get_uploaded_predefined_fonts();
3
+ ?>
4
+
5
+ <div class="uaf_search_bar">
6
+ <form class="thickbox" action="<?php echo admin_url( 'admin-ajax.php' ); ?>?action=uaf_predefined_font_interface" method="POST" id="predefind_search_form">
7
+ <input type="search" value="" placeholder="Search Fonts" id="predefined_search_input" name="search" />
8
+ <input type="submit" value="Search" name="search-submit" class="button-primary" />
9
+ </form>
10
+ </div>
11
+
12
+ <div id="predefined_fonts_list" class="ready" data-page="1" data-totalPage = '1' data-randnumber="<?php echo rand(1111, 99999); ?>">
13
+ </div>
14
+
15
+ <div id="predefined_font_load_msg"></div>
16
+
17
+ <script type="text/javascript">
18
+ function uaf_load_predefined_fonts(page = 1, category = 'all', search=''){
19
+ var predefinedUplaodedFonts = <?php echo json_encode($predefinedUplaodedFonts); ?>;
20
+ var randomNumber = jQuery('#predefined_fonts_list').attr('data-randnumber');
21
+ jQuery('#predefined_font_load_msg').html('Loading...');
22
+ jQuery.get("https://ultimatefont.com/useanyfont/list.php?&rand="+randomNumber+"&page="+page+"&category="+category+"&search="+search, function(response){
23
+ var response = jQuery.parseJSON(response);
24
+ if (response.total_records > 0){
25
+ fontDatas = response.fonts;
26
+ jQuery.each(fontDatas, function(key,font) {
27
+ uaf_font_list_block(font, predefinedUplaodedFonts);
28
+ });
29
+ jQuery('#predefined_fonts_list').addClass('ready');
30
+ jQuery('#predefined_fonts_list').attr('data-page',response.current_page);
31
+ jQuery('#predefined_fonts_list').attr('data-totalPage',response.total_pages);
32
+ jQuery('#predefined_font_load_msg').html('');
33
+ } else {
34
+ jQuery('#predefined_font_load_msg').html('No Font Found');
35
+ }
36
+ });
37
+ }
38
+
39
+ function uaf_font_list_block(font, predefinedUplaodedFonts){
40
+ var fontListHTML = '<div class="font_holder">';
41
+ fontListHTML += '<div class="font_meta">';
42
+ fontListHTML += '<div class="font_name">'+font.font_name+' <em>( '+font.font_sub_family+' )</em> </div>';
43
+ if (predefinedUplaodedFonts.includes(font.id)){
44
+ fontListHTML += '<div class="add_font_link"><a href="javascript:void(0);" class="button-primary" disabled="disabled">Already Added</a></div>';
45
+ } else {
46
+ fontListHTML += '<div class="add_font_link"><a onclick="uaf_add_loading_text(this);" href="admin.php?page=use-any-font&tab=font_upload&predefinedfontid='+font.id+'" class="button-primary">Add To Your Site</a></div>';
47
+ }
48
+ fontListHTML += '</div>';
49
+ fontListHTML += '<div class="font_demo">';
50
+ fontListHTML += '<img style="max-width:100%; max-height:30px;" src="https://ultimatefont.com/files/images/'+font.font_demo_image+'" />';
51
+ fontListHTML += '</div>';
52
+ fontListHTML += '</div>';
53
+ jQuery('#predefined_fonts_list').append(fontListHTML);
54
+ }
55
+
56
+ function uaf_add_loading_text(e){
57
+ jQuery(e).html('Adding...');
58
+ }
59
+
60
+ jQuery(document).ready(function(){
61
+ uaf_load_predefined_fonts();
62
+ jQuery('#predefind_search_form').submit(function(e){
63
+ jQuery('#predefined_fonts_list').html('');
64
+ uaf_load_predefined_fonts('1', 'all', jQuery('#predefined_search_input').val());
65
+ jQuery('#predefined_fonts_list').attr('data-page', '1');
66
+ return false;
67
+
68
+ });
69
+
70
+ jQuery('#TB_ajaxContent').bind('scroll', function() {
71
+ if (jQuery('#predefined_fonts_list').hasClass('ready')){
72
+ if(jQuery('#TB_ajaxContent').scrollTop() >= jQuery('#predefined_fonts_list').height() - jQuery('#TB_ajaxContent').height() - 50 ){
73
+ currentPage = jQuery('#predefined_fonts_list').attr('data-page');
74
+ totalPage = jQuery('#predefined_fonts_list').attr('data-totalPage');
75
+ if (parseInt(currentPage) < parseInt(totalPage)){
76
+ newPage = parseInt(currentPage) + 1;
77
+ jQuery('#predefined_fonts_list').removeClass('ready');
78
+ uaf_load_predefined_fonts(newPage, 'all', jQuery('#predefined_search_input').val());
79
+ } else {
80
+ jQuery('#predefined_font_load_msg').html('No more fonts found');
81
+ }
82
+ }
83
+ }
84
+ });
85
+ });
86
+ </script>
readme.txt CHANGED
@@ -2,13 +2,13 @@
2
  Contributors: dnesscarkey
3
  Tags: custom fonts, font embed, font uploader, typography, install font
4
  Requires at least: 3.0
5
- Tested up to: 5.7
6
- Stable tag: 6.0.5
7
 
8
  Embed any custom font using font uploader and assign to elements. Upload font in 1 format and other needed formats are auto converted even woff2.
9
 
10
  == Description ==
11
- Upload any custom fonts you wish and give your site a elegant look. Quickly change font without need of css knowledge.
12
 
13
  Click <a href="https://dineshkarki.com.np/use-any-font/demo" target="_blank">HERE</a> for Use Any Font working demo.
14
 
@@ -142,6 +142,9 @@ Please do write us after integration and we will add it in our supported list.
142
  1. Screenshot #6. Assign fonts to custom elements.
143
 
144
  == Changelog ==
 
 
 
145
 
146
  = 6.0.5 =
147
  * Fix WP_Scripts::localize Warning message
2
  Contributors: dnesscarkey
3
  Tags: custom fonts, font embed, font uploader, typography, install font
4
  Requires at least: 3.0
5
+ Tested up to: 5.7.1
6
+ Stable tag: 6.1
7
 
8
  Embed any custom font using font uploader and assign to elements. Upload font in 1 format and other needed formats are auto converted even woff2.
9
 
10
  == Description ==
11
+ Upload any custom fonts you wish and give your site a elegant look. Quickly change font without need of css knowledge. Or you can select from our 23,871+ predefined font collection to add in your site. It even has google fonts which you can store in your own server.
12
 
13
  Click <a href="https://dineshkarki.com.np/use-any-font/demo" target="_blank">HERE</a> for Use Any Font working demo.
14
 
142
  1. Screenshot #6. Assign fonts to custom elements.
143
 
144
  == Changelog ==
145
+ = 6.1 =
146
+ * Added 23,871+ Predefined fonts which are available for both free and commercial use.
147
+ * Added auto cache clear for popular cache plugin.
148
 
149
  = 6.0.5 =
150
  * Fix WP_Scripts::localize Warning message
use-any-font.php CHANGED
@@ -5,7 +5,7 @@ Plugin Name: Use Any Font
5
  Plugin URI: https://dineshkarki.com.np/use-any-font
6
  Description: Embed any font in your website
7
  Author: Dnesscarkey
8
- Version: 6.0.5
9
  Author URI: https://dineshkarki.com.np/use-any-font
10
  */
11
 
@@ -15,6 +15,7 @@ include UAF_FILE_PATH.'includes/uaf_config.php';
15
  include UAF_FILE_PATH.'includes/functions/uaf_admin_functions.php';
16
  include UAF_FILE_PATH.'includes/functions/uaf_client_functions.php';
17
  include UAF_FILE_PATH.'includes/functions/uaf_font_functions.php';
 
18
 
19
 
20
  add_action('init', 'uaf_plugin_initialize');
@@ -22,4 +23,7 @@ add_action('admin_menu', 'uaf_create_menu');
22
  add_action('admin_enqueue_scripts', 'uaf_admin_assets');
23
  add_action('wp_enqueue_scripts', 'uaf_client_assets');
24
  add_action('admin_notices', 'uaf_admin_notices');
 
 
 
25
  register_activation_hook( __FILE__, 'uaf_plugin_activated' );
5
  Plugin URI: https://dineshkarki.com.np/use-any-font
6
  Description: Embed any font in your website
7
  Author: Dnesscarkey
8
+ Version: 6.1
9
  Author URI: https://dineshkarki.com.np/use-any-font
10
  */
11
 
15
  include UAF_FILE_PATH.'includes/functions/uaf_admin_functions.php';
16
  include UAF_FILE_PATH.'includes/functions/uaf_client_functions.php';
17
  include UAF_FILE_PATH.'includes/functions/uaf_font_functions.php';
18
+ include UAF_FILE_PATH.'includes/functions/uaf_cache_functions.php';
19
 
20
 
21
  add_action('init', 'uaf_plugin_initialize');
23
  add_action('admin_enqueue_scripts', 'uaf_admin_assets');
24
  add_action('wp_enqueue_scripts', 'uaf_client_assets');
25
  add_action('admin_notices', 'uaf_admin_notices');
26
+
27
+ add_action( 'wp_ajax_uaf_predefined_font_interface', 'uaf_predefined_font_interface' );
28
+
29
  register_activation_hook( __FILE__, 'uaf_plugin_activated' );