Domain: antoinekatan.com
Server Adress: 10.127.20.23
privdayz.com
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
// DEFAULT WORDPRESS EDITOR
$uaf_disbale_editor_font_list_value = get_option('uaf_disbale_editor_font_list');
if ($uaf_disbale_editor_font_list_value != 1):
add_filter('mce_buttons_2', 'wp_editor_fontsize_filter');
add_filter('tiny_mce_before_init', 'uaf_mce_before_init' );
endif;
function uaf_mce_before_init( $init_array ) {
$theme_advanced_fonts = '';
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$theme_advanced_fonts .= ucfirst(str_replace('_',' ', $fontName)) .'='.$fontName.';';
endforeach;
endif;
$init_array['font_formats'] = $theme_advanced_fonts.'Andale Mono=Andale Mono, Times;Arial=Arial, Helvetica, sans-serif;Arial Black=Arial Black, Avant Garde;Book Antiqua=Book Antiqua, Palatino;Comic Sans MS=Comic Sans MS, sans-serif;Courier New=Courier New, Courier;Georgia=Georgia, Palatino;Helvetica=Helvetica;Impact=Impact, Chicago;Symbol=Symbol;Tahoma=Tahoma, Arial, Helvetica, sans-serif;Terminal=Terminal, Monaco;Times New Roman=Times New Roman, Times;Trebuchet MS=Trebuchet MS, Geneva;Verdana=Verdana, Geneva;Webdings=Webdings;Wingdings=Wingdings';
return $init_array;
}
function wp_editor_fontsize_filter( $options ) {
array_unshift( $options, 'fontsizeselect');
array_unshift( $options, 'fontselect');
return $options;
}
// DIVI CUSTOMIZER AND BUILDER (Tested with 4.0.9 and 4.0.9)
add_filter('et_websafe_fonts', 'uaf_send_fonts_divi_list',10,2);
function uaf_send_fonts_divi_list($fonts){
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$variationStyles = array();
foreach ($fontData as $fontVariationKey => $fontVariationData){
if (array_key_exists('font_weight',$fontVariationData)){
$variationStyles[] = $fontVariationData['font_weight'];
} else {
$variationStyles[] = '400';
}
}
$fonts_uaf[$fontName] = array(
'styles' => join(',',$variationStyles),
'character_set' => 'cyrillic,greek,latin',
'type' => 'serif'
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// SITE ORIGIN BUILDER
add_filter('siteorigin_widgets_font_families', 'uaf_send_fonts_siteorigin_list',10,2);
function uaf_send_fonts_siteorigin_list($fonts){
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[$fontName] = $fontName;
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// REDUX Framework
if (class_exists( 'Redux' ) ) {
$reduxUafObject = new Redux;
$reduxArgs = $reduxUafObject::$args;
$reduxOptName = array_key_first($reduxArgs);
add_filter('redux/'.$reduxOptName.'/field/typography/custom_fonts', 'uaf_send_fonts_redux_list' );
}
function uaf_send_fonts_redux_list( $custom_fonts ) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array('Use Any Fonts' => array());
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf['Use Any Fonts'][$fontName] = $fontName;
endforeach;
endif;
return $fonts_uaf;
}
// X Theme
add_filter('x_fonts_data', 'uaf_send_fonts_x_theme_list',10,2);
function uaf_send_fonts_x_theme_list($fonts){
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[$fontName] = array(
'source' => 'Use Any Font',
'family' => $fontName,
'stack' => '"'.$fontName.'"',
'weights' => array( '400' )
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// elementor
function uaf_send_fonts_elementor_list( $controls_registry ) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array('Use Any Fonts' => array());
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[$fontName] = 'system';
endforeach;
endif;
$fonts = $controls_registry->get_control( 'font' )->get_settings( 'options' );
$new_fonts = array_merge($fonts_uaf, $fonts );
$controls_registry->get_control( 'font' )->set_settings( 'options', $new_fonts );
}
add_action( 'elementor/controls/controls_registered', 'uaf_send_fonts_elementor_list', 10, 1 );
// Beaver Builder and Themes (Tested with 2.3.0.1 )
add_filter('fl_theme_system_fonts', 'uaf_send_fonts_beaver_builder_list',10,2);
add_filter('fl_builder_font_families_system', 'uaf_send_fonts_beaver_builder_list',10,2);
function uaf_send_fonts_beaver_builder_list($fonts){
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$variationStyles = array();
foreach ($fontData as $fontVariationKey => $fontVariationData){
if (array_key_exists('font_weight',$fontVariationData)){
$variationStyles[] = $fontVariationData['font_weight'];
} else {
$variationStyles[] = '400';
}
}
$fonts_uaf[$fontName] = array(
'fallback' => 'Verdana, Arial, sans-serif',
'weights' => $variationStyles
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// Themify Builder
add_filter('themify_get_web_safe_font_list', 'uaf_send_fonts_themify_builder_list',10,2);
function uaf_send_fonts_themify_builder_list($fonts){
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[] = array(
'value' => $fontName,
'name' => $fontName
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// GENERATE PRESS Tested With Version: 2.4.1
add_filter( 'generate_typography_default_fonts', function( $fonts ) {
$fonts_uaf = uaf_get_font_families();
return array_merge($fonts_uaf,$fonts);
});
// ASTRA THEME ver 2.2.1
add_action( 'astra_customizer_font_list', 'uaf_astra_customizer_font_list');
function uaf_astra_customizer_font_list( $value ) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
echo esc_html('<optgroup label="Use Any Font">');
foreach ($fontsData as $fontName=>$fontData):
echo '<option value="' .esc_attr($fontName). '">' . esc_html($fontName). '</option>';
endforeach;
endif;
}
// oceanwp Theme 1.7.4
if ( !function_exists( 'ocean_add_custom_fonts' ) ) {
function ocean_add_custom_fonts() {
$fonts_uaf = uaf_get_font_families();
return $fonts_uaf;
}
}
// Oxygen Builder
add_action("ct_builder_ng_init", "uaf_oxygen_builder_font_list");
function uaf_oxygen_builder_font_list() {
$fonts_uaf = uaf_get_font_families();
$output = json_encode( $fonts_uaf );
$output = htmlspecialchars( $output, ENT_QUOTES );
echo esc_html("elegantCustomFonts=$output;");
}
// KIRKI CUSTOMIZER FRAMEWORK //Like FLATSOME THEME
add_filter( 'kirki/fonts/standard_fonts', 'uaf_kirki_custom_fonts', 20 );
function uaf_kirki_custom_fonts($standard_fonts) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[$fontName] = array(
'label' => $fontName.' [Use Any Font]',
'variants' => array('regular'),
'stack' => $fontName
);
endforeach;
endif;
return array_merge_recursive( $fonts_uaf, $standard_fonts );
}
// REVOLUTION SLIDER
add_filter( 'revslider_data_get_font_familys', 'uaf_revslider_custom_fonts', 20 );
function uaf_revslider_custom_fonts($fonts) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[] = array(
'type' => 'Use Any Font',
'version' => 'Serif Fonts',
'label' => $fontName
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
// FOR WP BAKERY VISUAL BUILDER (JS Composer)
add_filter('vc_google_fonts_get_fonts_filter', 'uaf_wpbakery_custom_fonts');
function uaf_wpbakery_custom_fonts($fonts) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$fonts_uaf[] = array(
'font_family' => $fontName,
'font_types' => '400 regular:400:normal',
'font_styles' => 'regular'
);
endforeach;
endif;
$fonts_uaf = json_decode (json_encode ($fonts_uaf), FALSE);
return array_merge($fonts_uaf,$fonts);
}
// FOR THE7 and presscore options framework
add_filter('presscore_options_get_safe_fonts', 'uaf_presscore_options_custom_fonts');
function uaf_presscore_options_custom_fonts($fonts) {
$fontsData = uaf_get_font_families();
if (!empty($fontsData)):
foreach ($fontsData as $key=>$fontName):
$fonts_uaf[$fontName] = $fontName;
endforeach;
return array_merge($fonts_uaf,$fonts);
else:
return $fonts;
endif;
}
// Kadence Theme And Block
// Add custom font to blocks
function uaf_kadence_custom_fonts( $fonts ) {
$fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data());
$fonts_uaf = array();
if (!empty($fontsData)):
foreach ($fontsData as $fontName=>$fontData):
$variationStyles = array();
foreach ($fontData as $fontVariationKey => $fontVariationData){
if (array_key_exists('font_weight',$fontVariationData)){
$variationStyles[] = $fontVariationData['font_weight'];
} else {
$variationStyles[] = '400';
}
}
$fonts_uaf[$fontName] = array(
'fallback' => 'helvetica, arial, sans-serif',
'weights' => $variationStyles
);
endforeach;
endif;
return array_merge($fonts_uaf,$fonts);
}
add_filter( 'kadence_blocks_add_custom_fonts', 'uaf_kadence_custom_fonts' );
add_filter( 'kadence_theme_add_custom_fonts', 'uaf_kadence_custom_fonts' );
// EOF Kadence Theme And Block
// Add custom font to bricks builder
add_filter( 'bricks/builder/standard_fonts', function( $standard_fonts ) {
$fontsData = uaf_get_font_families();
if (!empty($fontsData)):
foreach ($fontsData as $key=>$fontName):
$fonts_uaf[$fontName] = $fontName;
endforeach;
return array_merge($fonts_uaf,$standard_fonts);
else:
return $standard_fonts;
endif;
} );
// EOF BRICKS BUILDER
// Add custom font to themeisle neva
function uaf_themeisle_custom_fonts( $localized_data ) {
$fontsData = uaf_get_font_families();
if (!empty($fontsData)):
foreach ($fontsData as $key=>$fontName):
$localized_data['fonts']['Custom'][] = $fontName;
endforeach;
endif;
return $localized_data;
}
add_filter( 'neve_react_controls_localization', 'uaf_themeisle_custom_fonts' );
// Add custom font to themeisle neva
