Created
July 27, 2022 16:57
-
-
Save Yorlinq/5356a3bc10cdfe2607aafbd50e66fea9 to your computer and use it in GitHub Desktop.
Add YOOtheme's Uikiit styling - Advanced Custom Fields
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function yl_deregister_acf_styles() { | |
// Deregister ACF Form style | |
wp_deregister_style('acf-global'); | |
wp_deregister_style('acf-input'); | |
// Avoid dependency conflict | |
wp_register_style('acf-global', false); | |
wp_register_style('acf-input', false); | |
} | |
add_action('wp_enqueue_scripts', 'yl_deregister_acf_styles'); | |
function yl_deregister_acf_extended_styles() { | |
// Deregister ACF Form style | |
wp_dequeue_style('acf-extended'); | |
wp_deregister_style('acf-extended'); | |
// Avoid dependency conflict | |
wp_enqueue_style('acf-extended', false); | |
wp_register_style('acf-extended', false); | |
// Deregister ACF Form style | |
wp_dequeue_style('acf-extended-input'); | |
wp_deregister_style('acf-extended-input'); | |
// Avoid dependency conflict | |
wp_enqueue_style('acf-extended-input', false); | |
wp_register_style('acf-extended-input', false); | |
} | |
add_action('acf/input/admin_enqueue_scripts', 'yl_deregister_acf_extended_styles'); | |
function yl_deregister_acf_extended_pro_styles() { | |
// Deregister ACF Form style | |
wp_dequeue_style('acf-extended-pro'); | |
wp_deregister_style('acf-extended-pro'); | |
// Avoid dependency conflict | |
wp_enqueue_style('acf-extended-pro', false); | |
wp_register_style('acf-extended-pro', false); | |
// Deregister ACF Form style | |
wp_dequeue_style('acf-extended-pro-input'); | |
wp_deregister_style('acf-extended-pro-input'); | |
// Avoid dependency conflict | |
wp_enqueue_style('acf-extended-pro-input', false); | |
wp_register_style('acf-extended-pro-input', false); | |
} | |
add_action('acf/input/admin_enqueue_scripts', 'yl_deregister_acf_extended_pro_styles'); | |
function yl_add_acf_field_class_select($field) { | |
// Target ACF Form Front only | |
if(is_admin() && !wp_doing_ajax()) | |
return $field; | |
// Add .form-control on fields | |
$field['class'] .= 'uk-select'; | |
return $field; | |
} | |
add_filter('acf/prepare_field/type=select', 'yl_add_acf_field_class_select'); | |
function yl_add_acf_field_class_textarea($field) { | |
// Target ACF Form Front only | |
if(is_admin() && !wp_doing_ajax()) | |
return $field; | |
// Add .form-control on fields | |
$field['class'] .= 'uk-textarea'; | |
return $field; | |
} | |
add_filter('acf/prepare_field/type=textarea', 'yl_add_acf_field_class_textarea'); | |
function yl_add_acf_field_class_text($field){ | |
// Target ACF Form Front only | |
if(is_admin() && !wp_doing_ajax()) | |
return $field; | |
// Add .form-control on fields | |
$field['class'] .= 'uk-input'; | |
return $field; | |
} | |
add_filter('acf/prepare_field/type=text', 'yl_add_acf_field_class_text'); | |
add_filter('acf/prepare_field/type=number', 'yl_add_acf_field_class_text'); | |
add_filter('acf/prepare_field/type=email', 'yl_add_acf_field_class_text'); | |
function yl_add_acf_field_class_acfe_image_selector($field) { | |
// Target ACF Form Front only | |
if(is_admin() && !wp_doing_ajax()) | |
return $field; | |
// Add .form-control on fields | |
$field['class'] .= 'uk-radio'; | |
return $field; | |
} | |
add_filter('acf/prepare_field/type=acfe_image_selector', 'yl_add_acf_field_class_acfe_image_selector'); | |
// Customization to datepicker and timepicker | |
function yl_add_acf_field_class_via_javascript() { | |
?> | |
<script type="text/javascript"> | |
(function($) { | |
// Check ACF | |
if(typeof acf === 'undefined') | |
return; | |
// Date picker & Google Maps compatibility | |
$('.acf-google-map input.search, .acf-date-picker input.input, .acf-time-picker input.input').addClass('uk-input'); | |
// Clean errors on submission | |
acf.addAction('validation_begin', function($form){ | |
$form.find('.acf-error-message').remove(); | |
}); | |
// Add alert alert-danger & move below field | |
acf.addAction('invalid_field', function(field){ | |
field.$el.find('.acf-notice.-error').addClass('uk-alert uk-alert-danger').insertAfter(field.$el.find('.acf-input')); | |
}); | |
})(jQuery); | |
</script> | |
<script type="text/javascript"> | |
(function($) { | |
acf.add_filter('time_picker_args', function( args, $field ) { | |
args['showSecond'] = false; | |
args['timeFormat'] = 'HH:mm'; | |
args['stepMinute'] = 5; | |
return args; | |
}); | |
})(jQuery); | |
</script> | |
<?php | |
} | |
add_action('acf/input/admin_footer', 'yl_add_acf_field_class_via_javascript'); | |
add_action( 'admin_enqueue_scripts', 'yl_add_acf_field_class_via_javascript' ); | |
function yl_choose_fields_for_read_only($field) { | |
$field['readonly'] = 1; | |
return $field; | |
} | |
add_filter('acf/load_field/type=date_picker', 'yl_choose_fields_for_read_only'); | |
add_filter('acf/load_field/type=time_picker', 'yl_choose_fields_for_read_only'); | |
// Accept shortcodes in text and textarea fields | |
add_filter('acf/format_value/type=textarea', 'do_shortcode'); | |
add_filter('acf/format_value/type=text', 'do_shortcode'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment