Dominando WP_User_Query

Después de todas esas partes anteriores, hemos terminado de pasar por el WP_Query clase, pero eso no significa que hayamos terminado con la serie! Es hora de cumplir WP_QueryClases de hermano y hermana: WP_User_Query, WP_Comment_Query, WP_Meta_Query y WP_Date_Query.

En esta parte, vamos a aprender acerca del uso del WP_User_Query clase para consultar a los usuarios en WordPress.

Vamos a empezar!

¿Qué es WP_User_Query??

probablemente tener la idea de que WP_User_Query es simplemente leyendo su nombre. Sí, nadie esperaría ver. WP_User_Query trabajando con el widget "Tag Cloud": es una clase que ejecuta consultas sobre usuarios en WordPress.

Veamos lo que dice WordPress Codex sobre el WP_User_Query clase:

WP_User_Query es una clase, definida en wp-includes / user.php, que permite consultar las tablas de base de datos de WordPress 'wp_users'y'wp_usermeta'. Esta clase se introdujo en la versión 3.1 y, como resultado, la WP_User_Search la clase quedó en desuso.

En esencia, podemos decir que "WP_User_Query es WP_Query para usuarios ". Funciona con wp_users y wp_usermeta Consultar usuarios y sus metadatos..

Ahora, veamos qué hay debajo del capó y aprendamos sobre WP_User_QueryPropiedades, métodos y parámetros de. Luego veremos cómo funciona repasando algunos ejemplos..

Consejo rapido: Hemos cubierto esto al tiempo que presentamos las propiedades y métodos de WP_Query clase, pero permítanme decirlo nuevamente como un recordatorio rápido: "Propiedades" y "métodos" son simplemente "variables" y "funciones" que se definen dentro de una clase PHP.

Propiedades de WP_User_Query

Sólo hay siete propiedades para aprender en el WP_User_Query clase. Recuerde: estos deben NO ser utilizados para cambiar sus valores. Puedes recuperar sus valores, pero es mejor no alterar ellos.

$ query_vars

Esta propiedad almacena una matriz asociativa de variables de consulta y sus valores.

$ resultados

Esta propiedad tiene el número de elementos encontrados (usuarios en este caso) para la consulta.

$ query_fields

Esta propiedad, similar a las siguientes propiedades, almacena las cláusulas SQL para los campos de retorno.

$ consulta_desde

Esta propiedad almacena el DESDE cláusula para la consulta.

$ query_where

Esta propiedad almacena el DÓNDE cláusula para la consulta.

$ query_orderby

Esta propiedad almacena el ORDENAR cláusula para la consulta y se utiliza para ordenar la lista de usuarios devueltos.

$ query_limit

Esta propiedad almacena el LÍMITE cláusula para la consulta y se utiliza para limitar el número de usuarios devueltos.

Métodos de WP_User_Query

Recuerda los métodos de la WP_Query ¿clase? Bueno, esta clase tiene solo cuatro métodos y funcionan igual que los métodos de WP_Query. Veamos rápidamente por qué existe cada uno..

los obtener() Método

Este método simplemente obtiene una variable de consulta de la consulta.

los conjunto() Método

Contrariamente a la anterior, este método conjuntos una variable de consulta en lugar de conseguirla.

los tener resultados() Método

diferente a WP_Query, la WP_User_Query clase no funciona con un "bucle". En su lugar, necesita utilizar el tener resultados() Método para obtener los resultados de la consulta y trabajar en ellos..

los get_total () Método

Este pequeño método devuelve el número total de elementos (usuarios) para la consulta.

Parámetros de WP_User_Query

Como el WP_Query clase, WP_User_Query tiene parámetros que necesita conocer. Pero mientras WP_Query Tiene un gran número de parámetros (más de 50!), WP_User_Query tiene solo 17 parámetros de los que preocuparse y son muy similares a los de WP_Query, así que si estás familiarizado con eso, no debería ser ningún problema aprender estos.

  • blog_id: Un entero para especificar el ID de un blog en redes multisitio. Por defecto al blog actual..
  • papel: Una cadena para indicar un rol de usuario. Acepta abonado, autor, contribuyente, autor, editor, administrador, y cualquier rol de usuario creado a medida.
  • incluir: Una matriz de ID de usuario para incluir en la consulta.
  • excluir: Una matriz de ID de usuario para excluir de la consulta.
  • buscar: Un valor de cadena para buscar en los campos de la wp_users mesa.
  • buscar_columnas: Una matriz de columnas de la wp_users mesa. Acepta CARNÉ DE IDENTIDAD, inicio de sesión de usuario, usuario_url, correo_usuario, y nombre de usuario.
  • orden por: Una cadena para indicar cómo ordenar los usuarios devueltos. Acepta CARNÉ DE IDENTIDAD, nombre para mostrar, nombre/nombre de usuario, iniciar sesión/inicio de sesión de usuario, bonito nombre/nombre de usuario, correo electrónico/correo_usuario, url/usuario_url, registrado/usuario_registrado, recuento de entradas, y meta_valor. Por defecto a iniciar sesión.
  • orden: Una cadena para establecer el orden en ascendente (ASC) o descendente (DESC).
  • compensar: Un entero para especificar el número de usuarios a pasar.
  • número: Un entero para establecer el número de usuarios a devolver.
  • count_total: Un booleano (CIERTO/FALSO) para indicar si se cuenta el número total de usuarios encontrados.
  • campos: Una cadena o matriz para decidir qué campos devolver desde el wp_users mesa.
  • quien: Una cadena (ya sea autores o todos, que es el valor predeterminado) para indicar qué usuarios consultar.
  • meta_key: Una cadena para indicar una clave de campo de meta de usuario personalizada.
  • meta_valor: Una cadena para indicar un valor de campo de meta de usuario personalizado.
  • meta_compare: Una cadena para configurar un operador para probar el 'meta_valor' parámetro. Acepta '=', '! =', '>', '> =', '<', '<=', 'ME GUSTA', 'DIFERENTE A', 'EN', 'NO EN', 'ENTRE', 'NO ENTRE', 'EXISTE', y 'NO EXISTE'. Por defecto a '='.
  • meta_query: Una matriz para crear una consulta completa de metadatos, usando claves similares a las anteriores:
    • llave: Una cadena para establecer una clave de campo personalizado.
    • valor: Una cadena o una matriz para establecer un valor de campo personalizado (o valores).
    • comparar: Una cadena para configurar el operador de comparación. Acepta los mismos valores que meta_compare encima.
    • tipo: Una cadena para establecer el tipo de campo personalizado. Acepta NUMÉRICO, BINARIO, CARBONIZARSE, FECHA, FECHA Y HORA, DECIMAL, FIRMADO, HORA, y NO FIRMADO. Por defecto a CARBONIZARSE.

Probar WP_User_Query con algunos ejemplos

Ahora hemos visto como WP_User_Query funciona, vamos a hacer un par de ejemplos para aprender a usarlo.

Listado de todos los editores excepto Lisa

Digamos que desea incluir a sus editores en la lista de sus lectores, pero recuerda que uno de sus editores, Lisa, aceptó trabajar con usted en condición de anonimato, por lo que debe dejarla en la lista de "Editores". Así es como construyes la consulta:

 'Editor', 'exclude' => $ exclude_list); // Consulta personalizada. $ my_user_query = new WP_User_Query ($ args); // Obtener resultados de la consulta. $ editors = $ my_user_query-> get_results (); // Compruebe los editores si (! Vacío ($ editores)) echo '
    '; // Loop sobre editores. foreach ($ editors como $ editor) // Obtenga los datos de cada editor. $ editor_info = get_userdata ($ editor-> ID); // Mostrar el nombre del editor. eco '
  • '. $ editor_info-> display_name. '
  • '; eco '
'; else // Muestra el mensaje "no se encontraron editores". echo __ ('No se encontraron editores!', 'tutsplus'); ?>

Busca usuarios de Gmail entre tus autores

Supongamos que desea recopilar las direcciones de correo electrónico de sus autores que utilizan una dirección de Gmail. Esto es lo que haces:

 'autores', // Buscar direcciones de correo electrónico que terminen con '@ gmail.com'. 'search' => '*@gmail.com', // Buscar solo en el campo 'correo electrónico'. 'search_columns' => array ('email'), // Devuelve solo el campo 'email'. 'fields' => 'email'); // Consulta personalizada. $ my_user_query = new WP_User_Query ($ args); // Obtener resultados de la consulta. $ gmailers = $ my_user_query-> get_results (); ?>

Envolviendo todo

Como puede ver, hay algunas diferencias entre WP_Query y WP_User_Query, y las diferencias realmente hacen WP_User_Query Más fácil de entender. Espero haberte ayudado a aprender sobre esta clase ordenada de WordPress.

¿Tienes algo que añadir a este artículo? Comparte tus pensamientos con nosotros en la sección de Comentarios a continuación. Y si te gustó el artículo, no olvides compartirlo con tus amigos..

Nos vemos en la siguiente parte de la serie.!

Si está interesado en algunos scripts y complementos que pueden ofrecerle una funcionalidad más avanzada con los sistemas de membresía y usuarios, hay una colección útil de elementos de scripts de membresía en Envato Market..