April 6, 2011 at 10:59[WordPress] Requête de posts portant sur plusieurs metas

Dans wordpress on peut utiliser les custom fields pour proposer des champs d’options selon le modèle de page sélectionné.

Le plugin Custom Field Template permet d’ajouter cette fonctionnalité.

Pour effectuer une requête de posts portant sur plusieurs de ces champs, par exemple afficher à l’accueil les pages :

  • ayant pour modèle de page (_wp_page_template)  “page-product.php”,
  • dont l’option “tplname_featured” est “product_pushs“,
  • en les triant par la valeur de  ”tplname_featured_order”,

Il faut utiliser le paramètre “meta_query“ dans la méthode WP_Query :

$products = new WP_Query(array(
	'post_type' => 'page',
	'meta_key' => 'tplname_featured_order',
	'orderby' => 'meta_value',
	'meta_query' => array(
		array(
			'key' => '_wp_page_template',
			'value' => 'page-product.php'
		),
		array(
			'key' => 'tplname_featured',
			'value' => 'product_pushs'
		),
	),
));
while ( $products -> have_posts() ) : $products -> the_post();
	...
	echo $post->post_title;
	...
endwhile;
Written by Rémi.T under snippet.
Tags: , .
Add a comment »