Récupérer un post id

Pour récupérer un ou plusieurs post ids à partir d’une meta key et d’une meta value, utilisez cette petite fonction.

Le troisième paramètre permet de rechercher sur une value exacte ou pas.

function getPostIdByMetaKeyAndValue($key, $value, $exactValue=false) {
	global $wpdb;
	if($exactValue!==false)
		$meta = $wpdb->get_results("SELECT * FROM `".$wpdb->postmeta."` WHERE meta_key='".$wpdb->escape($key)."' AND meta_value LIKE '%".$wpdb->escape($value)."%'");
	else
		$meta = $wpdb->get_results("SELECT * FROM `".$wpdb->postmeta."` WHERE meta_key='".$wpdb->escape($key)."' AND meta_value ='".$wpdb->escape($value)."'");
	if (is_array($meta) && !empty($meta) && isset($meta[0])) {
		foreach ($meta as $v) {
			$ret[]=$v->post_id;
		}
		return $ret;
	}
	return array();
}