web/wp-content/plugins/acf-extended/includes/modules/form/module-form-action-term.php (1,000 lines of code) (raw):
<?php
if(!defined('ABSPATH')){
exit;
}
if(!class_exists('acfe_module_form_action_term')):
class acfe_module_form_action_term extends acfe_module_form_action{
/**
* initialize
*/
function initialize(){
$this->name = 'term';
$this->title = __('Term action', 'acfe');
$this->item = array(
'action' => 'term',
'type' => 'insert_term', // insert_term | update_term
'name' => '',
'save' => array(
'target' => '',
'name' => '',
'slug' => '',
'taxonomy' => '',
'parent' => '',
'description' => '',
'acf_fields' => array(),
),
'load' => array(
'source' => '',
'name' => '',
'slug' => '',
'taxonomy' => '',
'parent' => '',
'description' => '',
'acf_fields' => array(),
),
);
$this->fields = array('name', 'slug', 'taxonomy', 'parent', 'description');
}
/**
* load_action
*
* acfe/form/load_term:9
*
* @param $form
* @param $action
*
* @return array
*/
function load_action($form, $action){
// check source
if(!$action['load']['source']){
return $form;
}
// apply template tags
acfe_apply_tags($action['load']['source'], array('context' => 'load', 'format' => false));
// vars
$load = $action['load'];
$term_id = acf_extract_var($load, 'source');
$acf_fields = acf_extract_var($load, 'acf_fields');
$acf_fields = acf_get_array($acf_fields);
$acf_fields_exclude = array();
// filters
$term_id = apply_filters("acfe/form/load_term_id", $term_id, $form, $action);
$term_id = apply_filters("acfe/form/load_term_id/form={$form['name']}", $term_id, $form, $action);
$term_id = apply_filters("acfe/form/load_term_id/action={$action['name']}", $term_id, $form, $action);
// bail early if no source
if(!$term_id){
return $form;
}
// get source term
$term = get_term($term_id);
// no term found
if(!$term || is_wp_error($term)){
return $form;
}
/**
* load term fields
*
* $load = array(
* name => 'field_655af3dd3bd56'
* slug => 'field_655af3dd3bd56'
* taxonomy => ''
* parent => ''
* description => ''
* )
*/
foreach($load as $term_field => $field_key){
// check field is not hidden and has no value set in 'acfe/form/load_form'
if(acf_maybe_get($form['map'], $field_key) !== false && !isset($form['map'][ $field_key ]['value'])){
// check key exists in WP_Term and is field key
if(in_array($term_field, $this->fields) && !empty($field_key) && is_string($field_key) && acf_is_field_key($field_key)){
// add field to excluded list
$acf_fields_exclude[] = $field_key;
// assign term field as value
$form['map'][ $field_key ]['value'] = get_term_field($term_field, $term_id, '', 'raw');
}
}
}
// load acf values
$form = $this->load_acf_values($form, "term_{$term_id}", $acf_fields, $acf_fields_exclude);
// return
return $form;
}
/**
* validate_action
*
* acfe/form/validate_term:9
*
* @param $form
* @param $action
*/
function validate_action($form, $action){
// if(empty($action['save']['name'])){
// acfe_add_validation_error('', __('Term name is empty', 'acfe'));
// }
//
// if(empty($action['save']['taxonomy'])){
// acfe_add_validation_error('', __('Term taxonomy is empty', 'acfe'));
// }
}
/**
* prepare_action
*
* acfe/form/prepare_term:9
*
* @param $action
* @param $form
*
* @return array
*/
function prepare_action($action, $form){
return $action;
}
/**
* make_action
*
* acfe/form/make_term:9
*
* @param $form
* @param $action
*/
function make_action($form, $action){
// insert/update term
$process = $this->process($form, $action);
// validate
if(!$process){
return;
}
// process vars
$term_id = $process['term_id'];
$args = $process['args'];
// output
$this->generate_output($term_id, $args, $form, $action);
// acf values
$this->save_acf_fields("term_{$term_id}", $action);
// hooks
do_action("acfe/form/submit_term", $term_id, $args, $form, $action);
do_action("acfe/form/submit_term/form={$form['name']}", $term_id, $args, $form, $action);
do_action("acfe/form/submit_term/action={$action['name']}", $term_id, $args, $form, $action);
}
/**
* setup_action
*
* @param $action
* @param $form
*
* @return array
*/
function setup_action($action, $form){
// check if post_parent has a field key or value
$has_term_parent = !acf_is_empty($action['save']['parent']);
// tags context
$opt = array('context' => 'save');
$opt_fmt = array('context' => 'save', 'format' => false);
// apply tags
acfe_apply_tags($action['save']['target'], $opt_fmt);
acfe_apply_tags($action['save']['name'], $opt);
acfe_apply_tags($action['save']['slug'], $opt);
acfe_apply_tags($action['save']['taxonomy'], $opt_fmt);
acfe_apply_tags($action['save']['parent'], $opt_fmt);
acfe_apply_tags($action['save']['description'], $opt);
// if post parent is supposed to have a value but is empty, set it to 0
// parent was most likely removed from the field
if($has_term_parent && acf_is_empty($action['save']['parent'])){
$action['save']['parent'] = 0;
}
// return
return $action;
}
/**
* process
*
* @param $form
* @param $action
*
* @return array|false
*/
function process($form, $action){
// apply tags
$action = $this->setup_action($action, $form);
// vars
$save = $action['save'];
$term_id = (int) acf_extract_var($save, 'target');
// pre-insert term
if($action['type'] === 'insert_term'){
if(empty($action['save']['taxonomy'])){
$action['save']['taxonomy'] = 'category';
}
// insert
$insert = wp_insert_term($save['name'], $save['taxonomy']);
// invalid insert
if($insert && !is_wp_error($insert)){
$term_id = $insert['term_id'];
}
}
// invalid target
if(!$term_id){
return false;
}
// generated id
acfe_add_context(array('context' => 'save', 'generated_id' => $term_id));
acfe_apply_tags($action['save']['name']);
acfe_apply_tags($action['save']['slug']);
$save['name'] = $action['save']['name'];
$save['slug'] = $action['save']['slug'];
acfe_delete_context('context', 'generated_id');
// get term
$term = get_term($term_id);
// validate
if(!$term || is_wp_error($term)){
return false;
}
// default term arguments
$args = array(
'ID' => $term_id,
'taxonomy' => $term->taxonomy
);
// construct term arguments
foreach($save as $term_field => $value){
// name, slug, taxonomy, parent etc...
if(in_array($term_field, $this->fields) && !acf_is_empty($value)){
$args[ $term_field ] = $value;
}
}
// filters
$args = apply_filters("acfe/form/submit_term_args", $args, $form, $action);
$args = apply_filters("acfe/form/submit_term_args/form={$form['name']}", $args, $form, $action);
$args = apply_filters("acfe/form/submit_term_args/action={$action['name']}", $args, $form, $action);
// bail early
if($args === false){
// delete pre-insert term
if($action['type'] === 'insert_term'){
wp_delete_term($term_id, $save['taxonomy']);
}
return false;
}
// update term
$update = wp_update_term($args['ID'], $args['taxonomy'], $args);
// bail early
if(!$update || is_wp_error($update)){
return false;
}
// return
return array(
'term_id' => $update['term_id'],
'args' => $args
);
}
/**
* generate_output
*
* @param $term_id
* @param $args
* @param $form
* @param $action
*/
function generate_output($term_id, $args, $form, $action){
// term array
$term = get_term($term_id, $args['taxonomy'], ARRAY_A);
$term['permalink'] = get_term_link($term_id, $args['taxonomy']);
$term['admin_url'] = admin_url("edit-tags.php?taxonomy={$args['taxonomy']}&tag_ID=1{$term_id}");
// filters
$term = apply_filters("acfe/form/submit_term_output", $term, $args, $form, $action);
$term = apply_filters("acfe/form/submit_term_output/form={$form['name']}", $term, $args, $form, $action);
$term = apply_filters("acfe/form/submit_term_output/action={$action['name']}", $term, $args, $form, $action);
// action output
$this->set_action_output($term, $action);
}
/**
* prepare_load_action
*
* acfe/module/prepare_load_action
*
* @param $action
*
* @return array
*/
function prepare_load_action($action){
// save loop
foreach(array_keys($action['save']) as $k){
$action["save_{$k}"] = $action['save'][ $k ];
}
// groups
$keys = array(
'save' => array(
'target' => function($value){return !empty($value) && is_numeric($value);},
'description' => function($value){return acfe_is_html(nl2br($value));},
'parent' => function($value){return !empty($value) && is_numeric($value);},
),
'load' => array(
'source' => function($value){return !empty($value) && is_numeric($value);},
)
);
foreach($keys as $parent => $row){
foreach($row as $key => $callback){
// save: target
$value = $action[ $parent ][ $key ];
$action["{$parent}_{$key}_group"]["{$parent}_{$key}"] = $value;
$action["{$parent}_{$key}_group"]["{$parent}_{$key}_custom"] = '';
if(call_user_func_array($callback, array($value))){
$action["{$parent}_{$key}_group"]["{$parent}_{$key}"] = 'custom';
$action["{$parent}_{$key}_group"]["{$parent}_{$key}_custom"] = $value;
}
}
}
// load loop
$load_active = false;
foreach(array_keys($action['load']) as $k){
$action["load_{$k}"] = $action['load'][ $k ];
if(!empty($action['load'][ $k ])){
$load_active = true;
}
}
$action['load_active'] = $load_active;
// cleanup
unset($action['action']);
unset($action['save']);
unset($action['load']);
return $action;
}
/**
* prepare_save_action
*
* acfe/module/prepare_save_action
*
* @param $action
* @param $item
*
* @return mixed
*/
function prepare_save_action($action){
$save = $this->item;
// general
$save['type'] = $action['type'];
$save['name'] = $action['name'];
// save loop
foreach(array_keys($save['save']) as $k){
// taxonomy => save_taxonomy
if(acf_maybe_get($action, "save_{$k}")){
$save['save'][ $k ] = $action["save_{$k}"];
}
}
// groups
$keys = array(
'save' => array('target', 'description', 'parent'),
'load' => array('source'),
);
foreach($keys as $parent => $row){
foreach($row as $key){
$group = $action["{$parent}_{$key}_group"];
$save[ $parent ][ $key ] = $group[ $key ];
if($group[ $key ] === 'custom'){
$save[ $parent ][ $key ] = $group["{$key}_custom"];
}
}
}
// check load switch activated
if($action['load_active']){
// load loop
foreach(array_keys($save['load']) as $k){
// taxonomy => load_taxonomy
if(acf_maybe_get($action, "load_{$k}")){
$value = $action["load_{$k}"];
$save['load'][ $k ] = $value;
// assign to save array when field_key
if(isset($save['save'][ $k ]) && !empty($value) && is_string($value) && acf_is_field_key($value)){
$save['save'][ $k ] = "{field:$value}";
}
}
}
}
// default save: target
if($action['type'] === 'update_term' && empty($save['save']['target'])){
$save['save']['target'] = '{term}';
}
// default load: source
if($action['load_active'] && empty($save['load']['source'])){
$save['load']['source'] = '{term}';
}
return $save;
}
/**
* prepare_action_for_export
*
* @param $action
*
* @return mixed
*/
function prepare_action_for_export($action){
if($action['type'] === 'insert_term'){
unset($action['save']['target']);
}
if(empty($action['load']['source'])){
unset($action['load']);
}
return $action;
}
/**
* register_layout
*
* @param $layout
*
* @return array
*/
function register_layout($layout){
return array(
/**
* documentation
*/
array(
'key' => 'field_doc',
'label' => '',
'name' => '',
'type' => 'acfe_dynamic_render',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'render' => function(){
echo '<a href="https://www.acf-extended.com/features/modules/dynamic-forms/term-action" target="_blank">' . __('Documentation', 'acfe') . '</a>';
}
),
/**
* action
*/
array(
'key' => 'field_tab_action',
'label' => __('Action', 'acfe'),
'name' => '',
'type' => 'tab',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-no-preference' => true,
),
'placement' => 'top',
'endpoint' => 0,
),
array(
'key' => 'field_type',
'label' => __('Action', 'acfe'),
'name' => 'type',
'type' => 'radio',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'insert_term' => __('Create term', 'acfe'),
'update_term' => __('Update term', 'acfe'),
),
'default_value' => 'insert_term',
),
array(
'key' => 'field_name',
'label' => __('Action name', 'acfe'),
'name' => 'name',
'type' => 'acfe_slug',
'instructions' => __('(Optional) Target this action using hooks.', 'acfe'),
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-instruction-placement' => 'field'
),
'acfe_permissions' => '',
'default_value' => '',
'placeholder' => __('Term', 'acfe'),
'prepend' => '',
'append' => '',
'maxlength' => '',
),
/**
* save
*/
array(
'key' => 'field_tab_save',
'label' => __('Save', 'acfe'),
'name' => '',
'type' => 'tab',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'placement' => 'top',
'endpoint' => 0,
),
array(
'key' => 'field_save_target_group',
'label' => __('Target', 'acfe'),
'name' => 'save_target_group',
'type' => 'group',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'type',
'operator' => '==',
'value' => 'update_term',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'layout' => 'block',
'acfe_seamless_style' => true,
'acfe_group_modal' => 0,
'sub_fields' => array(
array(
'key' => 'field_save_target',
'label' => '',
'name' => 'target',
'type' => 'select',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'{term}' => __('Current Term', 'acfe'),
'{term:parent}' => __('Current Term Parent', 'acfe'),
'custom' => __('Term Selector', 'acfe'),
),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax'
),
array(
'key' => 'field_save_target_custom',
'label' => '',
'name' => 'target_custom',
'type' => 'acfe_taxonomy_terms',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_save_target',
'operator' => '==',
'value' => 'custom',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'field_type' => 'select',
'return_format' => 'id',
'ui' => true,
'ajax' => true,
'default_value' => '',
),
),
),
array(
'key' => 'field_save_name',
'label' => __('Name', 'acfe'),
'name' => 'save_name',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'{generated_id}' => __('Generated ID', 'acfe'),
'#{generated_id}' => __('#Generated ID', 'acfe'),
),
'default_value' => array(
),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'conditional_logic' => array(),
'ajax_action' => 'acfe/form/map_field_ajax',
),
array(
'key' => 'field_save_slug',
'label' => __('Slug', 'acfe'),
'name' => 'save_slug',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'{generated_id}' => __('Generated ID', 'acfe'),
),
'default_value' => array(
),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'conditional_logic' => array(),
'ajax_action' => 'acfe/form/map_field_ajax',
),
array(
'key' => 'field_save_taxonomy',
'label' => __('Taxonomy', 'acfe'),
'name' => 'save_taxonomy',
'type' => 'acfe_taxonomies',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'taxonomy' => '',
'field_type' => 'select',
'default_value' => '',
'return_format' => 'name',
'allow_null' => 1,
'placeholder' => __('Default', 'acfe'),
'multiple' => 0,
'ui' => 1,
'choices' => array(),
'ajax' => 1,
'layout' => '',
'toggle' => 0,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
),
array(
'key' => 'field_save_parent_group',
'label' => __('Parent', 'acfe'),
'name' => 'save_parent_group',
'type' => 'group',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'layout' => 'block',
'acfe_seamless_style' => true,
'acfe_group_modal' => 0,
'sub_fields' => array(
array(
'key' => 'field_save_parent',
'label' => '',
'name' => 'parent',
'type' => 'select',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'{term}' => __('Current Term', 'acfe'),
'{term:parent}' => __('Current Term Parent', 'acfe'),
'custom' => __('Term Selector', 'acfe'),
),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax'
),
array(
'key' => 'field_save_parent_custom',
'label' => '',
'name' => 'parent_custom',
'type' => 'acfe_taxonomy_terms',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_save_parent',
'operator' => '==',
'value' => 'custom',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'field_type' => 'select',
'return_format' => 'id',
'ui' => true,
'ajax' => true,
'default_value' => '',
),
),
),
array(
'key' => 'field_save_description_group',
'label' => __('Description', 'acfe'),
'name' => 'save_description_group',
'type' => 'group',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'layout' => 'block',
'acfe_seamless_style' => true,
'acfe_group_modal' => 0,
'sub_fields' => array(
array(
'key' => 'field_save_description',
'label' => '',
'name' => 'description',
'type' => 'select',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'custom' => __('Content Editor', 'acfe'),
),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
),
array(
'key' => 'field_save_description_custom',
'label' => '',
'name' => 'description_custom',
'type' => 'wysiwyg',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_save_description',
'operator' => '==',
'value' => 'custom',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'default_value' => '',
'tabs' => 'all',
'toolbar' => 'full',
'media_upload' => 1,
'delay' => 0,
),
),
),
array(
'key' => 'field_save_acf_fields',
'label' => __('Save ACF fields', 'acfe'),
'name' => 'save_acf_fields',
'type' => 'checkbox',
'instructions' => __('Which ACF fields should be saved as metadata', 'acfe'),
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(),
'allow_custom' => 0,
'default_value' => array(),
'layout' => 'vertical',
'toggle' => 0,
'return_format' => 'value',
'save_custom' => 0,
),
/**
* load
*/
array(
'key' => 'field_tab_load',
'label' => __('Load', 'acfe'),
'name' => '',
'type' => 'tab',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'placement' => 'top',
'endpoint' => 0,
),
array(
'key' => 'field_load_active',
'label' => __('Load Values', 'acfe'),
'name' => 'load_active',
'type' => 'true_false',
'instructions' => __('Fill inputs with values', 'acfe'),
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'message' => '',
'default_value' => 0,
'ui' => 1,
'ui_on_text' => '',
'ui_off_text' => '',
),
array(
'key' => 'field_load_source_group',
'label' => __('Source', 'acfe'),
'name' => 'load_source_group',
'type' => 'group',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'layout' => 'block',
'acfe_seamless_style' => true,
'acfe_group_modal' => 0,
'sub_fields' => array(
array(
'key' => 'field_load_source',
'label' => '',
'name' => 'source',
'type' => 'select',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(
'{term}' => __('Current Term', 'acfe'),
'{term:parent}' => __('Current Term Parent', 'acfe'),
'custom' => __('Term Selector', 'acfe'),
),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('Default', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a custom value/template tag.', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax'
),
array(
'key' => 'field_load_source_custom',
'label' => '',
'name' => 'source_custom',
'type' => 'acfe_taxonomy_terms',
'instructions' => '',
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_load_source',
'operator' => '==',
'value' => 'custom',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'field_type' => 'select',
'return_format' => 'id',
'ui' => true,
'ajax' => true,
'default_value' => '',
)
),
),
array(
'key' => 'field_load_name',
'label' => __('Name', 'acfe'),
'name' => 'load_name',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-related-field' => 'field_save_name'
),
'choices' => array(),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('None', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a field key', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
),
array(
'key' => 'field_load_slug',
'label' => __('Slug', 'acfe'),
'name' => 'load_slug',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-related-field' => 'field_save_slug'
),
'choices' => array(),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('None', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a field key', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
),
array(
'key' => 'field_load_taxonomy',
'label' => __('Taxonomy', 'acfe'),
'name' => 'load_taxonomy',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-related-field' => 'field_save_taxonomy'
),
'choices' => array(),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('None', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a field key', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
),
array(
'key' => 'field_load_parent',
'label' => __('Parent', 'acfe'),
'name' => 'load_parent',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-related-field' => 'field_save_parent'
),
'choices' => array(),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('None', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a field key', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
),
array(
'key' => 'field_load_description',
'label' => __('Description', 'acfe'),
'name' => 'load_description',
'type' => 'select',
'instructions' => '',
'required' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
'data-related-field' => 'field_save_description'
),
'choices' => array(),
'default_value' => array(),
'allow_null' => 1,
'multiple' => 0,
'ui' => 1,
'return_format' => 'value',
'placeholder' => __('None', 'acfe'),
'ajax' => 1,
'search_placeholder' => __('Select a field or enter a field key', 'acfe'),
'allow_custom' => 1,
'ajax_action' => 'acfe/form/map_field_ajax',
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
),
array(
'key' => 'field_load_acf_fields',
'label' => __('Load ACF fields', 'acfe'),
'name' => 'load_acf_fields',
'type' => 'checkbox',
'instructions' => __('Select which ACF fields should have their values loaded', 'acfe'),
'required' => 0,
'conditional_logic' => array(
array(
array(
'field' => 'field_load_active',
'operator' => '==',
'value' => '1',
),
),
),
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'choices' => array(),
'allow_custom' => 0,
'default_value' => array(),
'layout' => 'vertical',
'toggle' => 0,
'return_format' => 'value',
'save_custom' => 0,
),
);
}
}
acfe_register_form_action_type('acfe_module_form_action_term');
endif;