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.