Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Yorlinq/5356a3bc10cdfe2607aafbd50e66fea9 to your computer and use it in GitHub Desktop.
Save Yorlinq/5356a3bc10cdfe2607aafbd50e66fea9 to your computer and use it in GitHub Desktop.
Add YOOtheme's Uikiit styling - Advanced Custom Fields
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