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

  • Eliminar el código redundante funciona para las cosas almacenadas en la tabla wp_users. Sin embargo, el nombre / apellido es meta y se almacena en wp_usermeta. [Estoy ' estoy seguro de que ya lo sabes :)] Entonces, usando $user->user_firstname isn ' t sacando nada. ¿Qué no estoy comprendiendo? Gracias @Scribu
  • get_users realiza una unión a la metatabla, y el parámetro de campos se establece de forma predeterminada en all 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.

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>"; 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *