Julius'Lab

(Formidable) Mostrar y cambiar UserID con un dropdown en el Front-End para Administrador y Editor

Primero, se necesita agregar el siguiente filtro, que está documentado aquí: https://formidableforms.com/knowledgebase/frm_setup_new_fields_vars/#kb-display-userid-dropdown-on-front-end-for-admin

add_filter('frm_setup_new_fields_vars', 'show_user_dropdown', 15, 2);
add_filter('frm_setup_edit_fields_vars', 'show_user_dropdown', 15, 3);
function show_user_dropdown($values, $field, $entry_id=false){
  if ( $values['type'] == 'user_id' && !is_admin() && current_user_can('administrator') ){
       $values['type'] = 'select';
       $values['options'] = FrmProFieldsHelper::get_user_options();
       $values['use_key'] = true;
       $values['custom_html'] = FrmFieldsHelper::get_default_html('select');
  }
return $values;
}

Este funcionará para Administrador.

Agregando este filtro, alterado por mí, funcionará también para Editor (y en teoría para todos los demás roles):

add_filter('frm_setup_new_fields_vars', 'show_user_dropdown_editor', 15, 2);
add_filter('frm_setup_edit_fields_vars', 'show_user_dropdown_editor', 15, 3);
function show_user_dropdown_editor($values, $field, $entry_id=false){
  if ( $values['type'] == 'user_id' && !is_admin() && current_user_can('editor') ){
       $values['type'] = 'select';
       $values['options'] = FrmProFieldsHelper::get_user_options();
       $values['use_key'] = true;
       $values['custom_html'] = FrmFieldsHelper::get_default_html('select');
  }
return $values;
}

Y Voilá! ahora tanto el Administrador como el Editor pueden usar ver y editar el UserID asociado con una entrada, en el front-end con una dropdown box.

NOTA: Para agregar los filtros uso el plugin Code Snippets, de Shea Bunge.

Search