Les meta data WordPress

La grande puissance du WordPress et sa facilité de la gestion des meta données, WordPress contient une table nommée wp_postmeta qui stocke les champs personnalisés pour les types de contenu.  La plus part des plugins ajoutés, ajoutent les champs personnalisés dans cette table.  La même chose pour les champs personnalisés ajoutés pour un utilisateur WordPress, on les trouve dans la table wp_usermeta.

L’API WordPress offres des fonctions pour gérer ces meta data.  get_post_meta()add_post_meta(), update_post_meta() et delete_post_meta(). on trouve aussi pour les utilisateurs get_user_meta() , add_user_meta(), update_user_meta() et delete_user_meta().

Selon le besoin de votre application, des fois on veut afficher tous les posts qui ont un champ personnalisé nommé : identifiant_programme. La classe WP_Query permet de le faire facilement. Voir aussi WP_User_Query.

$query = new WP_Query( 'meta_key=identifiant_programme' );

Voici quelques exemples :

$query = new WP_Query( array( 'meta_key' => 'color', 'meta_value' => 'blue' ) );

$query = new WP_Query( array( 'meta_key' => 'price', 'meta_value' => '22', 'meta_compare' => '<=', 'post_type' => 'product' ) );

$args = array(
	'post_type' => 'product',
	'meta_query' => array(
		array(
			'key' => 'color',
			'value' => 'blue',
			'compare' => 'NOT LIKE'
		)
	)
);
$query = new WP_Query( $args );

$args = array(
	'post_type' => 'product',
	'meta_query' => array(
		array(
			'key' => 'color',
			'value' => 'blue',
			'compare' => 'NOT LIKE'
		),
		array(
			'key' => 'price',
			'value' => array( 20, 100 ),
			'type' => 'numeric',
			'compare' => 'BETWEEN'
		)
	)
);
$query = new WP_Query( $args );

$args = array(
	'post_type' => 'product',
	'meta_query' => array(
		'relation' => 'OR',
		array(
			'key' => 'color',
			'value' => 'blue',
			'compare' => 'NOT LIKE'
		),
		array(
			'key' => 'price',
			'value' => array( 20, 100 ),
			'type' => 'numeric',
			'compare' => 'BETWEEN'
		)
	)
);
$query = new WP_Query( $args );