Skip to content

Instantly share code, notes, and snippets.

@hawkidoki
Last active December 10, 2019 11:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hawkidoki/90abdb62fa27a25190d050098c4cb1db to your computer and use it in GitHub Desktop.
Save hawkidoki/90abdb62fa27a25190d050098c4cb1db to your computer and use it in GitHub Desktop.
<?php
add_action('acf/render_field_group_settings', 'hwk_acf_field_groups_add_settings', 10);
function hwk_acf_field_groups_add_settings($group){
/****************
* Basic
****************/
// Text
// Return: "hwk_text": "foo bar"
acf_render_field_wrap(array(
'label' => __('Texte','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'text',
'name' => 'hwk_text',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_text'])) ? $group['hwk_text'] : '',
'placeholder' => 'placeholder',
'prepend' => 'prefixe',
'append' => 'suffixe',
'maxlength' => 2
));
// Textarea
// Return: "hwk_textarea": "foo bar"
acf_render_field_wrap(array(
'label' => __('Textarea','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'textarea',
'name' => 'hwk_textarea',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_textarea'])) ? $group['hwk_textarea'] : '',
'placeholder' => 'placeholder',
'maxlength' => 2,
'rows' => 8,
'new_lines' => 'wpautop' // wpautop | br | (empty)
));
// Number
// Return: "hwk_number": 1
acf_render_field_wrap(array(
'label' => __('Number','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'number',
'name' => 'hwk_number',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_number'])) ? $group['hwk_number'] : '',
'placeholder' => 'placeholder',
'prepend' => 'prefixe',
'append' => 'suffixe',
'min' => 0,
'max' => 100,
'step' => 1
));
// Range
// Return: "hwk_range": 1
acf_render_field_wrap(array(
'label' => __('Range','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'range',
'name' => 'hwk_range',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_range'])) ? $group['hwk_range'] : 0,
'prepend' => 'prefixe',
'append' => 'suffixe',
'min' => 0,
'max' => 100,
'step' => 1
));
// Mail
// Return: "hwk_email": "foo@bar.com"
acf_render_field_wrap(array(
'label' => __('Email','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'email',
'name' => 'hwk_email',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_email'])) ? $group['hwk_email'] : '',
'placeholder' => 'placeholder',
'prepend' => 'prefixe',
'append' => 'suffixe'
));
// URL
// Return: "hwk_url": "http://www.google.com"
acf_render_field_wrap(array(
'label' => __('URL','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'url',
'name' => 'hwk_url',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_url'])) ? $group['hwk_url'] : '',
'placeholder' => 'placeholder'
));
// Password
// Return: "hwk_password": "foobar"
acf_render_field_wrap(array(
'label' => __('Password','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'password',
'name' => 'hwk_password',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_password'])) ? $group['hwk_password'] : '',
'placeholder' => 'placeholder',
'prepend' => 'prefixe',
'append' => 'suffixe'
));
/****************
* Content
****************/
// Image
// Return: "hwk_image": 431
acf_render_field_wrap(array(
'label' => __('Image','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'image',
'name' => 'hwk_image',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_image'])) ? $group['hwk_image'] : '',
'preview_size' => 'thumbnail',
//'min_width' => 10,
//'min_height' => 20,
//'max_width' => 100,
//'max_height' => 200,
//'min_size' => 5,
//'max_size' => 50,
//'mime_types' => 'jpg,pdf'
//'return_format' => 'url'
));
// File
// Return: "hwk_file": 432
acf_render_field_wrap(array(
'label' => __('File','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'file',
'name' => 'hwk_file',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_file'])) ? $group['hwk_file'] : '',
'min_size' => 5,
'max_size' => 50
));
// WYSIWYG
// Return: "hwk_wysiwyg": "<strong>Lorem ipsum</strong>"
acf_render_field_wrap(array(
'label' => __('WYSIWYG','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'wysiwyg',
'name' => 'hwk_wysiwyg',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_wysiwyg'])) ? $group['hwk_wysiwyg'] : '',
'tabs' => 'all', // all | visual | text
'toolbar' => 'full', // full | basic
'media_upload' => true // true | false
));
// oEmbed
// Return: "hwk_oembed": "https://www.youtube.com/watch?v=s09Ldx2HdaA"
acf_render_field_wrap(array(
'label' => __('oEmbed','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'oembed',
'name' => 'hwk_oembed',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_oembed'])) ? $group['hwk_oembed'] : '',
'width' => 640,
'height' => 390
));
// Gallery
// Return: "hwk_gallery": ["431","433"]
acf_render_field_wrap(array(
'label' => __('Gallery','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'gallery',
'name' => 'hwk_gallery',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_gallery'])) ? $group['hwk_gallery'] : '',
'min' => 1,
'max' => 5,
'insert' => 'prepend' // prepend |append
));
/****************
* Choices
****************/
// Select
// Return: "hwk_select": ["zero"]
acf_render_field_wrap(array(
'label' => __('Select','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'select',
'name' => 'hwk_select',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_select'])) ? $group['hwk_select'] : '',
'toggle' => false,
'choices' => array(
'zero' =>__('Zero', 'acf'),
'un' =>__('Un', 'acf'),
),
'allow_null' => true, // true | false
'multiple' => true, // true | false
'ui' => true, // true | false
'ajax' => false // true | false
));
// Checkbox
// Return: "hwk_checkbox": ["FooBar"]
acf_render_field_wrap(array(
'label' => __('Checkbox','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'checkbox',
'name' => 'hwk_checkbox',
'key' => 'hwk_checkbox',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_checkbox'])) ? $group['hwk_checkbox'] : '',
'choices' => array(
'zero' =>__('Zero', 'acf'),
'un' =>__('Un', 'acf')
),
'allow_custom' => true, // true | false
'save_custom' => true, // true | false
'toggle' => true, // true | false
'layout' => 'vertical' // vertical | horizontal
));
// Radio
// Return: "hwk_radio": "un"
acf_render_field_wrap(array(
'label' => __('Radio','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'radio',
'name' => 'hwk_radio',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_radio'])) ? $group['hwk_radio'] : '',
'choices' => array(
'zero' =>__('Zero', 'acf'),
'un' =>__('Un', 'acf'),
),
'allow_null' => true, // true | false
'other_choice' => true, // true | false
'save_other_choice' => true, // true | false
'layout' => 'vertical' // vertical | horizontal
));
// Bouton Group
// Return: "hwk_button_group": "zero"
acf_render_field_wrap(array(
'label' => __('Button Group','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'button_group',
'name' => 'hwk_button_group',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_button_group'])) ? $group['hwk_button_group'] : '',
'choices' => array(
'zero' =>__('Zero', 'acf'),
'un' =>__('Un', 'acf'),
),
'allow_null' => true, // true | false
'layout' => 'horizontal' // vertical | horizontal
));
// True False
// Return: "hwk_true_false": 1
acf_render_field_wrap(array(
'label' => __('True / False','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'true_false',
'name' => 'hwk_true_false',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_true_false'])) ? $group['hwk_true_false'] : '',
'message' => 'Message',
'default_value' => true, // true | false
'ui' => true, // true | false
'ui_on_text' => 'Actif',
'ui_off_text' => 'Inactif'
));
/****************
* Relationnel
****************/
// Link
// Return: "hwk_link": {"title": "Google","url": "http://www.google.com","target": "_blank"}
acf_render_field_wrap(array(
'label' => __('Link','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'link',
'name' => 'hwk_link',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_link'])) ? $group['hwk_link'] : ''
));
// Post Object
// Return: "hwk_post_object": ["4"]
acf_render_field_wrap(array(
'label' => __('Post Object','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'post_object',
'name' => 'hwk_post_object',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_post_object'])) ? $group['hwk_post_object'] : '',
//'post_type' => array('post'), // Bugged
//'taxonomy' => array('category:non-classe'), // Bugged
'allow_null' => true, // true | false
'multiple' => true, // true | false
'ui' => true // true | false
));
// Page Link
// Return: "hwk_page_link": ["5"]
acf_render_field_wrap(array(
'label' => __('Page Link','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'page_link',
'name' => 'hwk_page_link',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_page_link'])) ? $group['hwk_page_link'] : '',
//'post_type' => array('post'), // Bugged
//'taxonomy' => array('category:non-classe'), // Bugged
'allow_null' => true, // true | false
'allow_archives' => true, // true | false
'multiple' => true // true | false
));
// Relationship
// Return: "hwk_relationship": ["4","5"]
acf_render_field_wrap(array(
'label' => __('Relationship','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'relationship',
'name' => 'hwk_relationship',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_relationship'])) ? $group['hwk_relationship'] : '',
//'post_type' => array('page'), // Bugged
//'taxonomy' => array('category:non-classe'), // Bugged
'filters' => array(
'search',
'post_type',
'taxonomy'
),
'elements' => array(
'featured_image'
),
'min'=> 1,
'max'=> 2
));
// Taxonomy
// Return multiple=true: "hwk_taxonomy": ["1","3"]
// Return multiple=false: "hwk_taxonomy": "1"
acf_render_field_wrap(array(
'label' => __('Taxonomy','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'taxonomy',
'name' => 'hwk_taxonomy',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_taxonomy'])) ? $group['hwk_taxonomy'] : '',
'taxonomy' => 'category',
'field_type' => 'checkbox', // checkbox | radio | multi_select (bugged) | select (bugged)
'allow_null' => true, // true | false
'add_term' => true, // true (bugged) | false
'save_terms' => true, // true | false
'load_terms' => true, // true | false
'multiple' => true // true | false
));
// User
// Return multiple=true: "hwk_user": ["1","2"]
// Return multiple=false: "hwk_user": "1"
acf_render_field_wrap(array(
'label' => __('User','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'user',
'name' => 'hwk_user',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_user'])) ? $group['hwk_user'] : '',
//'role' => array('editor'),
'allow_null' => true, // true | false
'multiple' => true // true | false
));
/****************
* jQuery
****************/
// Google Map
// Return: "hwk_google_map": {"address": "X621, Hangjin Qi, Eerduosi Shi, Neimenggu Zizhiqu, Chine","lat": "40.18782406112183","lng": "107.29687929153442"}
acf_render_field_wrap(array(
'label' => __('Google Map','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'google_map',
'name' => 'hwk_google_map',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_google_map'])) ? $group['hwk_google_map'] : '',
'center_lat' => '',
'center_lng' => '',
'zoom' => 1,
'height' => 200
));
// Date Picker
// Return: "hwk_date_picker": 20171219
acf_render_field_wrap(array(
'label' => __('Date Picker','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'date_picker',
'name' => 'hwk_date_picker',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_date_picker'])) ? $group['hwk_date_picker'] : '',
'display_format' => 'd/m/Y',
'first_day' => 1 // 0 | 1 (Lundi) | 2 | 3 | 4 | 5 | 6
));
// Date Time Picker
// Return: "hwk_date_time_picker": "2017-12-19 15:00:00"
acf_render_field_wrap(array(
'label' => __('Date Time Picker','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'date_time_picker',
'name' => 'hwk_date_time_picker',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_date_time_picker'])) ? $group['hwk_date_time_picker'] : '',
'display_format' => 'd/m/Y g:i a',
'first_day' => 1 // 0 | 1 (Lundi) | 2 | 3 | 4 | 5 | 6
));
// Time Picker
// Return: "hwk_time_picker": "17:29:49"
acf_render_field_wrap(array(
'label' => __('Time Picker','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'time_picker',
'name' => 'hwk_time_picker',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_time_picker'])) ? $group['hwk_time_picker'] : '',
'display_format' => 'g:i a'
));
// Color Picker
// Return: "hwk_color_picker": "#81d742"
acf_render_field_wrap(array(
'label' => __('Color Picker','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'color_picker',
'name' => 'hwk_color_picker',
'prefix' => 'acf_field_group',
'value' => (isset($group['hwk_color_picker'])) ? $group['hwk_color_picker'] : ''
));
/****************
* Disposition
****************/
// Message
acf_render_field_wrap(array(
'label' => __('Message','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'message',
'name' => 'hwk_message',
'prefix' => 'acf_field_group',
'message' => 'Message',
'new_lines' => 'wpautop', // wpautop | br | (empty)
'esc_html' => true // true | false
));
// Accordion
acf_render_field_wrap(array(
'label' => __('Accordion','acf'),
'instructions' => __('Instructions','acf'),
'type' => 'accordion',
'name' => 'hwk_accordion',
'key' => 'hwk_accordion',
'prefix' => 'acf_field_group',
'open' => false, // true | false
'multi_expand' => false, // true | false
'endpoint' => 0
));
// Tab
acf_render_field_wrap(array(
'label' => __('Tab','acf'),
'type' => 'tab',
'name' => 'hwk_tab_tab',
'key' => 'hwk_tab_tab',
'prefix' => 'acf_field_group',
'placement' => 'left', // top | left
'endpoint' => 0
));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment