Estoy intentando crear una tabla de usuarios por tipo de función. ¿Cuál es el método de mejores prácticas para obtener la identificación de usuario? Mi objetivo es imprimir cada usuario primero & apellidos, nombre de usuario y correo electrónico.
Lo que tengo ahora:
$get_admins = array( "blog_id" => $GLOBALS["blog_id"], "role" => "administrator", ); $blogusers = get_users($get_admins); foreach ($blogusers as $user) { $userid = get_userdata($bloguser->user_id); $user_info = get_userdata($userid); echo "<tr>"; echo "<td>". $user_info->user_firstname ."</td>"; echo "<td>". $user_info->last_name ."</td>"; echo "<td>". $user->user_login ."</td>"; echo "<td>". $user->user_email ."</td>"; echo "</tr>"; }
nota: en mi ejemplo anterior, obtener el ID de usuario no funciona.
Referencia del Codex: get_users ()
Respuesta
Su código no funciona porque «está usando $bloguser
en lugar de $user
.
Y no tiene sentido llamar a get_userdata () ya que get_users () ya devuelve objetos de usuario:
foreach ($blogusers as $user) { echo "<tr>"; echo "<td>". $user->first_name ."</td>"; echo "<td>". $user->last_name ."</td>"; echo "<td>". $user->user_login ."</td>"; echo "<td>". $user->user_email ."</td>"; echo "</tr>"; }
Comentarios
Responder
Su código no funciona porque en la línea foreach
loop get_userdata($bloguser->user_id);
, $bloguser
es una variable de objeto desconocida. Pruebe este código:
$get_admins = array( "role" => "admin", "orderby" => "user_nicename", "order" => "ASC" ); $blogusers = get_users( $get_admins ); echo "<ul>"; foreach ( $blogusers as $user ) { echo "<li>" . $user->first_name . "</li>"; echo "<li>" . $user->last_name . "</li>"; echo "<li>" . $user->user_login . "</li>"; echo "<li>" . $user->user_email . "</li>"; } echo "</ul>";
wp_users
. Sin embargo, el nombre / apellido es meta y se almacena enwp_usermeta
. [Estoy ' estoy seguro de que ya lo sabes :)] Entonces, usando$user->user_firstname
isn ' t sacando nada. ¿Qué no estoy comprendiendo? Gracias @Scribuget_users
realiza una unión a la metatabla, y el parámetro de campos se establece de forma predeterminada enall
para que los metadatos deben volver a la consulta (a menos que un valor dado no esté ' t configurado actualmente para el usuario o usuarios determinados). Verifique que los usuarios para los que ' no ve un nombre definitivamente tengan uno configurado.