Je fais une requête get_terms()
que j'essaie de classer par un méta terme personnalisé. La clé méta du terme personnalisé est 'order'
qui correspond à une valeur numérique (comprise entre 1 et 10). J'ai essayé ce qui suit, mais l'ordre ne semble pas suivre la méta-valeur - tout pointeur est apprécié.
$type_terms = get_terms( 'type', array(
'hide_empty' => false,
array(
'key' => 'order',
),
'orderby' => 'meta_value_num',
'order' => 'ASC',
) );
la commande ne semble pas suivre la méta valeur
Oui, et c'est parce que vous définissez la clé méta comme ceci: (ce qui ne définit pas la clé méta)
array(
'key' => 'order',
),
La bonne façon consiste à utiliser le paramètre meta_key
:
'meta_key' => 'order'
Donc le code complet serait:
$type_terms = get_terms( 'type', array(
'hide_empty' => false,
'meta_key' => 'order',
'orderby' => 'meta_value_num',
'order' => 'ASC',
) );
Pour plus d'informations, reportez-vous à WP_Term_Query::__construct()
, qui est utilisé par la fonction get_terms()
.