/ / orderby und order funktionieren nicht für numerische meta_query - PHP, SQL, WordPress

orderby und order funktioniert nicht für numerische meta_query - php, sql, wordpress

Ich habe eine Reihe von Standardargumenten, in die ich Werte übergebe. Alle funktionieren, wenn es um Ordnung und Ordnung geht, außer für member_count was in der Datenbank gespeichert ist, wird aber als String gespeichertmuss sich wie eine Zahl verhalten. Aus diesem Grund habe ich den Typ als numerisch festgelegt und vermute, dass das SQL-Casting funktioniert, wenn Sie den Abgleich durchführen, aber nicht, wenn Sie die Bestellung ausführen. Nur eine Vermutung.

public $default_args = array(
"post_type" => "clans",
"post_status" => "publish",
"posts_per_page" => -1,
"s" => "",
"post__in" => "",
"orderby" => "",
"order" => "",
"date_query" => array(
"before" => "",
"after" => "",
"inclusive" => true
),
"meta_query" => array(
"relation"    => "AND",
"average_skill_level" => array(
"key" => "average_skill_level",
"compare" => "EXISTS",
),
"activity_level" => array(
"key" => "activity_level",
"compare" => "EXISTS",
),
"language" => array(
"key" => "language",
"compare" => "EXISTS",
),
"applications" => array(
"key" => "applications",
"compare" => "EXISTS",
),
"member_count" => array(
array(
"key" => "member_count",
"compare" => ">=",
"type" => "NUMERIC"
),
array(
"key" => "member_count",
"compare" => "<=",
"type" => "NUMERIC"
)
)
)

);

einige der Werte, die ich für orderby gesetzt habe, waren member_count und meta_value_num member_count und natürlich DESC und ASC zur Bestellung

Antworten:

0 für die Antwort № 1
"member_count" => array(
"member_min" => array(
"key" => "member_count",
"compare" => ">=",
"type" => "NUMERIC"
),
"member_max" => array(
"key" => "member_count",
"compare" => "<=",
"type" => "NUMERIC"
)
)

Ich benannte die beiden Arrays in member_count und endete nach diesen Schlüsseln.