Vous pouvez créer plusieurs lignes dans la table postmeta
pour une publication avec la même clé, comme ceci:
add_post_meta( $post_id, "example_key", "value1" );
add_post_meta( $post_id, "example_key", "value2" );
Pour récupérer les valeurs, vous pouvez utiliser get_post_meta
, qui retournera un tableau:
$rv = get_post_meta( $post_id, "example_key" );
// $rv is array( "value1", "value2" )
Le tableau résultant est-il garanti à être commandé? Dans quel ordre sont les valeurs? Alphabétique ou date insérée?
Yes.
get_post_meta()
utilise get_metadata()
qui à son tour utilise update_meta_cache()
pour récupérer les valeurs. Dans le code source nous voyons cette partie (le mien du commentaire)
// $id_column is 'meta_id'
$meta_list = $wpdb->get_results( "SELECT $column, meta_key, meta_value FROM $table WHERE $column IN ($id_list) ORDER BY $id_column ASC", ARRAY_A );
Les méta-valeurs seront donc classées par meta_id
par ordre croissant. Cela signifie que, comme @Jacob Peattie l’a souligné dans les commentaires, ils serontclassés par la date à laquelle ils ont été ajoutés.