Argumentos WP_Query autor, búsqueda, contraseña y permisos

Hasta ahora, en esta serie, ha aprendido sobre una selección de argumentos que puede usar con el WP_Query clase, para seleccionar publicaciones por tipo de publicación, categoría, etiqueta, metadatos, fecha, estado y mucho más.

En este tutorial final sobre WP_Query argumentos, analizaré algunos parámetros de uso menos frecuente que pueden dar a sus consultas aún más flexibilidad.

Los parámetros que cubriremos aquí son para:

  • autor
  • buscar
  • contraseña
  • permisos
  • almacenamiento en caché
  • campos de retorno

Antes de comenzar, veamos brevemente cómo codifica sus argumentos con WP_Query.

Un resumen de cómo funcionan los argumentos en WP_Query

Cuando codificas WP_Query en sus temas o complementos, debe incluir cuatro elementos principales:

  • Los argumentos para la consulta, utilizando los parámetros que se tratarán en este tutorial.
  • la propia consulta
  • el lazo
  • Terminando: cerrando las etiquetas if y while y restableciendo los datos del post

En la práctica esto se parecerá a lo siguiente:

have_posts ()) // Iniciar el bucle sobre los resultados de la consulta. while ($ consulta-> have_posts ()) $ consulta-> the_post (); // Los contenidos de los resultados de la consulta consultados van aquí.  // Restaura los datos originales de la publicación. wp_reset_postdata (); ?>

Los argumentos son lo que le dice a WordPress qué datos obtener de la base de datos y los que cubriré aquí. Así que todo lo que nos estamos enfocando aquí es la primera parte del código:

$ args = array (// Argumentos para su consulta);

Como puede ver, los argumentos están contenidos en una matriz. Aprenderás cómo codificarlos mientras trabajas en este tutorial..

Codificando tus argumentos

Hay una forma específica de codificar los argumentos en la matriz, que es la siguiente:

$ args = array ('parámetro1' => 'valor', 'parámetro2' => 'valor', 'parámetro3' => 'valor');

Debe incluir los parámetros y sus valores entre comillas simples, usar => Entre ellos, y separarlos con una coma. Si se equivoca, es posible que WordPress no agregue todos sus argumentos a la consulta o que obtenga una pantalla en blanco..

Parámetros del autor

Hay cuatro parámetros que puede utilizar para consultar por autor:

  • autor (En t): usar ID de autor
  • nombre del autor (cuerda): use 'user_nicename' (NO nombre)
  • autor__in (formación): usar ID de autor
  • author__not_in (formación)

El primero, autor, le permite consultar las publicaciones de uno o más autores, proporcionando el ID del autor:

$ args = array ('author' => '2');

El código anterior consulta todas las publicaciones del autor cuyo ID es 2.

También puede utilizar una cadena para consultar publicaciones de más de un autor:

$ args = array ('author' => '1, 2');

Si quisiera consultar por nombre, usaría el nombre del autor parámetro:

$ args = array ('author_name' => 'rachelmccollin'); 

Este parámetro toma el valor de la nombre de usuario campo en la base de datos como su argumento, que se muestra como el apodo en la pantalla de administración de Usuarios:

Tenga en cuenta que, como lo pueden editar los usuarios, estará más seguro de usar el autor parámetro si crees que tus usuarios podrían cambiarlo.

También puede consultar las publicaciones de un conjunto de autores:

$ args = array ('author__in' => array ('1', '2'));

Lo anterior solicitará publicaciones de dos autores: aquellos con ID 1 y 2, dándote los mismos resultados que la cadena que usé con el autor parámetro arriba.

Finalmente, puede excluir las publicaciones de uno o más autores utilizando la author__not_in parámetro. El argumento debajo de las consultas para todas las publicaciones excepto las de autor 1:

$ args = array ('author__not_in' => array ('1'));

O puede excluir varios autores:

$ args = array ('author__not_in' => array ('1', '2'));

Alternativamente puedes usar el autor parámetro y use un signo menos delante del ID de autor para excluir a un autor:

$ args = array ('author' => '-2'); 

Parámetro de búsqueda

Hay un solo parámetro para la búsqueda, que es s. Úselo para consultar publicaciones que coincidan con un término de búsqueda. Así, por ejemplo, para consultar las publicaciones que contengan las palabras clave "mi comida favorita", usarías esto:

$ args = array ('s' => 'mi comida favorita');

Puede encontrar esto útil para buscar publicaciones relacionadas con palabras clave similares, por ejemplo.

Parámetros de contraseña

Puede utilizar los dos parámetros de contraseña para consultar publicaciones con y sin protección de contraseña:

  • has_password (bool)
  • post_password (cuerda)

El primer parametro, has_password, le permite consultar las publicaciones con o sin protección de contraseña. Para consultar las publicaciones protegidas con contraseña:

$ args = array ('has_password' => true);

Y para los posts que no tienen contraseñas:

$ args = array ('has_password' => false);

También puede consultar por la propia contraseña, utilizando el post_password parámetro:

$ args = array ('post_password' => 'mypassword');

Parámetro de permisos

Solo hay un parámetro disponible para permisos, permanente, que utiliza para consultar las publicaciones que el usuario actual tiene permiso para leer. Toma el 'legible' Valor y está diseñado para ser combinado con otros argumentos..

Por lo tanto, para consultar las publicaciones protegidas por contraseña y mostrarlas solo si el usuario tiene los permisos adecuados, debe usar esto:

$ args = array ('has_password' => true, 'perm' => 'legible');

O para mostrar las publicaciones preliminares si el usuario actual tiene permiso para verlas, usaría esto:

$ args = array ('post_status' => 'draft', 'perm' => 'legible');

Parámetros de almacenamiento en caché

Hay tres parámetros de almacenamiento en caché, que impiden que los datos recuperados por la consulta se agreguen a la memoria caché:

  • cache_results (booleano): caché de información del post
  • update_post_meta_caché (booleano): caché de información meta del post
  • update_post_term_cache (booleano): caché de información post plazo

El valor predeterminado de los tres es cierto: no necesita usarlos si desea que los datos se agreguen al caché.

Así que para mostrar todos los mensajes de la producto tipo de publicación pero no agregue información de la publicación al caché, usaría esto:

$ args = array ('post_type' => 'product', 'cache_results' => false);

Normalmente, no debe usar estos parámetros, ya que es una buena práctica agregar datos de publicación al caché. Sin embargo, es posible que a veces desee recuperar las publicaciones para poder utilizar solo algunos de los datos de la publicación, en cuyo caso no necesita el resto de los datos de la publicación en el caché. Un ejemplo podría ser cuando solo desea generar una lista de títulos de publicaciones con enlaces, en cuyo caso no necesita que los datos o los metadatos del término posterior se agreguen a la memoria caché:

$ args = array ('post_type' => 'producto', 'update_post_meta_cache' => false, 'update_post_term_cache' => false);

Parámetros de los campos de retorno

Puedes usar el campos parámetro para especificar qué campos devolver de su consulta. Esto puede guardar los datos devueltos de los campos en la base de datos que no necesita al generar los datos en su bucle.

El valor predeterminado es devolver todos los campos, pero tiene dos opciones con campos parámetro para restringir esto. Primero el 'ids' argumento:

$ args = array ('fields' => 'ids');

Esto solo devolvería una matriz de ID de publicación y no otros campos. Si desea generar algo en su bucle (como el título de la publicación), tendrá que usar funciones como get_the_title ($ post-> ID); para dar salida al título, que sería una manera larga de hacer las cosas.

El otro argumento que puede usar obtiene una matriz asociativa de ID de publicación con ID de publicación secundaria:

$ args = array ('fields' => 'id => parent');

Usaría esto para consultar publicaciones según sus otros argumentos más sus hijos.

Resumen

Esta parte de la serie sobre WP_Query Introduce el conjunto final de parámetros para el WP_Query clase. Puede usarlos para consultar publicaciones por autor, estado protegido por contraseña o la propia contraseña y los términos de búsqueda, y para establecer si los resultados de la consulta se agregan a la caché y qué campos devuelve la consulta..

En la siguiente parte de esta serie, verá algunos ejemplos prácticos de uso de WP_Query en tus temas o complementos.