• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Must Comunicación

Diseño Web y Marketing Online

  • Temas WordPress
  • Plugins WordPress
  • WooCommerce
  • Marketing
  • Tutoriales
    • WooCommerce
    • Easy Digital Downloads
  • Contacto
Usted está aquí: Inicio / WordPress / Desarrollo Web / Argumentos para WP_Query: Campos personalizados

Argumentos para WP_Query: Campos personalizados

Desarrollo Web WordPress Tagged as: PHP, Tutoriales Tuts+ Deja un comentario

Compartir
Compartir
Twittear
Pocket
WhatsApp
Email

Si has estado siguiendo esta serie, ya sabrás cómo se estructura WP_Query y cómo usarlo para escribir consultas personalizadas. Para poder definir qué va a recuperar WP_Query de la base de datos, necesitas conocer qué argumentos puedes usar para solicitar datos.

WP_Query cuenta con gran cantidad de posibles argumentos, lo que lo hace extremadamente flexible. Dado que lo puedes usar para consultar sobre cualquier cosa presente en tu tabla wp_posts, dispone de argumentos para cualquier combinación de consulta relacionada con tu contenido que desees ejecutar.

En este tutorial vamos a ver los argumentos para los campos personalizados o, como los llamaremos a partir de ahora, ‘custom fields’. Pero primero, un breve recordatorio sobre cómo codificar los argumentos en WP_Query.

Recordando cómo funcionan los argumentos en WP_Query

Antes de empezar, recordemos cómo funcionan los argumentos en WP_Query. Cuando codificas WP_Queryen tus temas o plugins, debes incluir cuatro elementos principales:

  • Los argumentos de la consulta, usando los parámetros que vamos a ver en este tutorial.
  • La consulta en sí.
  • El loop.
  • Y para terminar: las etiquetas de cierre if y while y el restablecimiento de los datos del post.

En la práctica, esto tendrá el siguiente aspecto:

Consulta con WP_Query en WordPress
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
 
$args = array(
    // Argumentos para tu consulta.
);
 
// Consulta personalizada.
$query = new WP_Query( $args );
 
// Comprueba que tenemos resultados a nuestra consulta.
if ( $query->have_posts() ) {
 
    // Revisa todas las entradas para localizar aquellas que se ajustan a nuestros argumentos.
    while ( $query->have_posts() ) {
 
        $query->the_post();
 
        // Aquí van los contenidos de las entradas resultantes de la consulta.
 
    }
 
}
 
// Restaurar los valores originales de la entrada.
wp_reset_postdata();
 
?>


Los argumentos le indican a WordPress qué datos recuperar desde la base de datos, eso es precisamente lo que veremos aquí. Por tanto, nos vamos a centrar en la primera parte del código:

Argumentos de una consulta WP_Query
PHP
1
2
3
$args = array(
    // Argumentos de tu consulta.
);


Como puedes ver, los argumentos están contenidos en una matriz o array. Aprenderás a crearlas a lo largo de este tutorial.

Crear el código para tus argumentos

Hay una forma concreta de codificar los argumentos de un array, es la siguiente:

Código para los argumentos de una consulta WP_Query
PHP
1
2
3
4
5
$args = array(
    'parameter1' => 'value',
    'parameter2' => 'value',
    'parameter3' => 'value'
);


Debes encerrar los parámetros y sus valores entre paréntesis, usar => entre cada parámetro y su valor, y separar cada uno de estos pares mediante una coma. Si lo haces mal, posiblemente WordPress no agregará todos tus argumentos a la consulta u obtendrás una pantalla blanca como resultado.

Parámetros para los campos personalizados

Los campos personalizados, conocidos también como metadatos de la entrada, pueden usar una clase independiente llamada WP_Meta_Query. Esto significa que si quieres ejecutar únicamente una consulta sobre datos de una entrada, puedes usar tanto WP_Meta_Query como WP_Query (el cual accede a WP_Meta_Query), mientras que si quieres consultar metadatos de una entrada y de otros elementos como un post type, usarías WP_Query.

Veremos con más detalle la clase WP_Meta_Query en otro capítulo de esta serie, así que no entraré en detalles ahora, simplemente quiero señalar que la diferencia entre usar esto y WP_Query consiste en que WP_Query te permite crear algunos argumentos sencillos sin necesidad de usar arrays anidados.

Parámetros para consultas de campos personalizados sencillos

Los principales parámetros de WP_Query para consultar campos personalizados son los siguientes:

  • meta_key (string): La clave del campo.
  • meta_value (string): Valor del campo personalizado.
  • meta_value_num (number): El valor del campo personalizado.
  • meta_compare (string): Operador para comprobar el 'meta_value'. Los valores posibles son '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP' o 'RLIKE'. El valor predeterminado es '='.

Usa estos parámetros para realizar una consulta sencilla sobre un campo personalizado. Por ejemplo, para dar salida a los posts que tengan un campo personalizado con la clave key1 (con independencia de su valor), usarías el siguiente argumento:

Argumentos para consultar las entradas que contengan ciertos campos personalizados.
PHP
1
2
3
$args = array(
    'meta_key' => 'key1'
);


Esto devolverá todos los posts que contengan un campo personalizado con la clave key1, sea cual sea su valor.

Si quieres especificar el valor, añadirías un argumento más, mira este ejemplo:

Argumentos para consultar las entradas con determinados metadatos
PHP
1
2
3
4
$args = array(
    'meta_key' => 'key1',
    'meta_value' => 'value1'
);


Esto devolverá todas las entradas que contengan un campo personalizado con la clave key1 cuyo valor sea igual a value1.

De igual manera, podrías recuperar todos los posts con un campo personalizado con un valor value1, sea cual sea su clave (key). Esto podría ser útil en el caso de que tengas múltiples claves de campos personalizados con valores duplicados:

Consultar las entradas con un determinado valor en un campo personalizado.
PHP
1
2
3
$args = array(
    'meta_value' => 'value1'
);


De manera que, como ves, puedes consultar simplemente por la clave del campo personalizado o por su valor – no siempre tienes que especificar ambos.

Lo que te queda por leer:

  • Usar el argumento meta_compare

  • Consultas anidadas de campos personalizados

seguir leyendo en Tuts+

Entradas relacionadas

Compartir
Compartir
Twittear
Pocket
WhatsApp
Email

categorías: Desarrollo Web, WordPress etiquetas: PHP, Tutoriales Tuts+

anterior
siguiente

Acerca de Eva Collados Pascual

Apasionada de la sociedad de la información, el marketing online, la tecnología, el diseño y el arte.
Sigo a diario todas las noticias relacionadas con WordPress, si no encuentras en el blog la solución que buscabas, no dudes en consultarme.

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

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

Acepto la Política de privacidad

Barra lateral principal

Categorías

  • Apps – Productividad
  • Artículos Tuts+
  • Diseño Web
  • eCommerce
  • Email Marketing
  • Emprendimiento
  • Marketing
  • SEO
  • Temas Shopify
  • Temas WordPress
  • Tutoriales
    • Tutorial de Easy Digital Downloads
    • Tutorial de WooCommerce
    • Tutorial W3 Total Cache
  • WooCommerce
  • WordPress
    • Desarrollo Web
    • Optimización
    • Plugins
    • Seguridad
    • Temas WordPress

Etiquetas

caché Conversión CRO Inspiración Web Landing Pages newsletters Performance Optimization PHP Plugins WooCommerce Plugins WordPress Seguridad SEO Startups Temas WooCommerce Temas WordPress Tutoriales Tuts+ Vídeo WooCommerce WordPress WPO

Copyright Must Comunicación© 2025 Genesis Framework

Este sitio web usa cookies propias y de terceros para recordar tus datos de inicio de sesión y recopilar estadísticas para mejorar la experiencia del usuario. Más información sobre las cookies Leer más. Aceptar x
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR