Ve si wp_get_current_user()
funciona para conseguir el usuario en su función?
$current_user = wp_get_current_user();
// $current_user->user_login
// $current_user->user_email
// $current_user->user_firstname
// $current_user->user_lastname
// $current_user->display_name
// $current_user->ID
De https://codex.wordpress.org/Function_Reference/wp_get_current_user
Así que probablemente se verá así:
add_filter( 'gravityflow_assignee_field_users', 'sh_gravityflow_assignee_field_users', 10, 3 );
function sh_gravityflow_assignee_field_users( $users, $form_id, $field ) {
$current_user = wp_get_current_user();
$users = array(
array( 'value' => 'user_id|'.$current_user->ID, 'text' => $current_user->display_name),
array( 'value' => 'user_id|2', 'text' => 'Joe' ),
array( 'value' => 'user_id|3', 'text' => 'Jane' ),
);
return $users;
}
Actualizar
Tuve un error en mi código.
Actualizar
No sé exactamente lo que necesitas (lo cual no es bueno, no debería estar adivinando). Pero esto puede ser lo que necesitas. Su ejemplo no puede ser correcto, porque ahora estaba devolviendo un número en lugar del $users
formación.
Para cada usuario en la lista, el siguiente código cambia lo que está en el campo 'text'
con un número específico dependiendo del nombre para mostrar del usuario.
add_filter( 'gravityflow_assignee_field_users', 'sh_gravityflow_assignee_field_users', 10, 3 );
function sh_gravityflow_assignee_field_users( $users, $form_id, $field ) {
$current_user = wp_get_current_user();
$users = array(
array( 'value' => 'user_id|'.$current_user->ID, 'text' => $current_user->display_name),
array( 'value' => 'user_id|2', 'text' => 'Joe' ),
array( 'value' => 'user_id|3', 'text' => 'Jane' ),
);
$users2 = [];
foreach ($users as $user) {
$number = -1;
switch ($user['text']) {
case "Joe":
$number = 400;
break;
case "Jane":
$number = 600;
break;
case "Donald":
$number = 340;
break;
default:
break;
}
$user['text'] = $number;
array_unshift($users2, $user);
}
return $users2;
}
Actualizar
Mis disculpas, estaba tratando a $user como un objeto en lugar de una matriz asociativa, así que $user->text
tiene que ser $user['text']
. Cambió el código.
.