El bucle (VI) Consultas avanzadas
En el bucle se pueden realizar consultas avanzadas de forma sencilla y que nos permita resultados más personalizados y avanzados:
$args = array( 'posts_per_page' => '-1', 'post_type' => 'product', 'meta_key' => 'precio', 'meta_value' => '13', 'meta_compare' => '<=' ); $productos = new WP_Query($args); //el bucle while ($productos->have_posts()) : $productos->the_post(); ?><a href="<?php the_permalink();?>"><?php the_title(); ?></a><br/> <?php endwhile; //restabler consulta wp_reset_postdata()
meta_compare se utiliza para mostrar los productos que tienen un precio menos o igual que trece, de hecho este parámetro puede utilizar cualquier tipo de operador comparativo, !=, >, <, >= y <=, siendo = el que utiliza por defecto.
Pero se pueden hacer consultas aun más complicadas por medio del parámetro meta_query:
$args = array( 'post_type' => 'product', 'meta_query' => array ( array( 'key' => 'precio', 'value' => '13', 'type' => 'numeric', 'compare' => '<=' ), array( 'key' => 'color', 'value' => 'azul', 'comapre' => '=' ) ) ); $productos = new WP_Query($args); //el bucle while ($productos->have_posts()) : $productos->the_post(); ?><a href="<?php the_permalink();?>"><?php the_title(); ?></a><br/> <?php endwhile; //restabler consulta wp_reset_postdata() //restablecer datos de entradas
El parámetro meta_query acepta una matriz de parámetros para conseguir poner diferentes condiciones a la vez.
La utilización de parámetros con metaconsultas suele ser bastante potente y con ella se pueden lograr enormes resultados para conseguir sitios más complejos.