I am trying to add custom capabilities to user according to a value submitted from gravity form selected value.
I have tried gfrom_pre_render and gform_after_submission without any success.
Here is an example that I tried.
add_action("gform_after_submission_1", "after_submission", 10, 2);
function after_submission($entry, $form){
$user = wp_get_current_user();
$capabilities = $entry["17"] . ', '. $entry["18"] .', '. $entry["19"];
if ($capabilities = "1") {$user -> add_cap('1');}
if ($capabilities = "2") {$user -> add_cap('2');}
if ($capabilities = "3") {$user -> add_cap('3');}
}
It seems the code above add all values that field ID 17, 18, 19 has to user capabilities.
So I tried another with gform_pre_render
'
add_filter("gform_pre_render", "dropdown_custom_capabilities");
add_filter("gform_admin_pre_render", "dropdown_custom_capabilities");
function dropdown_custom_capabilities($form){
if($form["id"] != 1)
return $form;
$terms = get_terms("custom-capabilities");
$items = array();
$items[] = array( "text" => __('Select capabilities...', "value" => 0 );
foreach($terms as $term)
$items[] = array( "text" => $term->name, "value" => $term->slug );
foreach($form["fields"] as &$field)
if($field["id"] == 17 OR 18 OR 19){
$field["cssClass"] = 'custom-capabilities';
$field["choices"] = $items;
}
return $form
if ($form = "1") {$user -> add_cap('1');}
if ($form = "2") {$user -> add_cap('2');}
if ($form = "3") {$user -> add_cap('3');}
}
'
Code above does not work.
Would you possibly to point me a right direction for this matter?