Vergleichen Sie Meta-Abfrage-Dezimalstellen, die nicht richtig funktionieren

Ich habe ein benutzerdefiniertes Feld namens “Rating”, das Dezimalzahlen von 1,0 bis 10 enthält. Ich versuche, wp_query zu verwenden, um mir alle Beiträge mit einer Bewertung von 8,0 bis 10 zu bekommen. Was ich bis jetzt funktioniert fast perfekt, aber es gibt keine Beiträge zurück mit Bewertung von 10.

  10, 'paged' => get_query_var( 'paged' ), 'category_name' => ( 'movies' ), 'meta_query' => array( array( 'key' => 'rating', 'value' => 8, 'compare' => '>' ) ), 'meta_key' => 'rating', 'orderby' => 'meta_value', 'order' => 'DESC' ); $wp_query = null; $wp_query = new WP_Query($args); ?> 

Solutions Collecting From Web of "Vergleichen Sie Meta-Abfrage-Dezimalstellen, die nicht richtig funktionieren"

Das Problem ist, dass der Standardvergleich für die meta_query ein CHAR Vergleich ist, also würde die Reihenfolge, in der die Zahlen standardmäßig wären, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, a Um dies zu beheben, müssen Sie Ihre meta_query wie folgt ändern:

 'meta_query' => array( array( 'key' => 'rating', 'value' => 8, 'compare' => '>=', 'type' => 'NUMERIC' ) ),