J'ai vérifié et n'ai pas vu de réponse qui fonctionne pour le moment. J'ai un WP_Query avec les arguments suivants:
$args = array(
'post_status' => 'publish',
'post_type' => 'listing',
'meta_key' => 'client_feedback_score',
'orderby' => 'client_feedback_score',
'order' => 'DESC'
);
$query = new WP_Query($args);
Je souhaite classer les résultats en fonction du champ de publication personnalisé 'client_feedback_score', du plus bas au plus élevé. Mais cela ne semble pas fonctionner ... quelqu'un peut-il me diriger dans la bonne direction?
EDIT (RESOLU):
Grâce à la réponse de Milo, voici le code de travail permettant de commander par une méta valeur numérique:
$args = array(
'post_status' => 'publish',
'post_type' => 'listing',
'meta_key' => 'client_feedback_score',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
custom-field
wp-query
order
Adam Moss
la source
la source
meta_key
n'existe pas encore pour le post, le post sera ignoré.my_meta_key
, pour que chaque article génère l'ordre que vous voulez. Étape 2 Vous définissezmeta_key
dans votre requête àmy_meta_key
. Cela indique à WordPress de rechercher les publications qui ont cette clé. Étape 3 Définissezorderby
dans votre requête surmeta_value_num
. Cela indique à WordPress non seulement d’interroger les publicationsmy_meta_key
, mais également de les classer numériquement en fonction de cette clé. Cet argument de requête est le seul endroit que vous verrez ou utiliserezmeta_value_num
.meta_key
avant d'exécuter la requête de commande