Mám súbor predvolených argumentov, ktoré odovzdávam hodnoty. Všetky fungujú, keď príde na objednávku a poriadok, s výnimkou member_count
ktorý je v databáze uložený ako reťazec, alesa musí správať ako číslo. Z tohto dôvodu mám typ nastavený ako numerické a mám podozrenie, že sql casting funguje, keď robíte porovnanie, ale nefunguje, keď robíte objednávanie? Len hádajte.
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"
)
)
)
);
niektoré z hodnôt, ktoré som dal do poriadku, boli member_count
a meta_value_num member_count
a samozrejme DESC
a ASC
na objednávku
odpovede:
0 pre odpoveď č. 1"member_count" => array(
"member_min" => array(
"key" => "member_count",
"compare" => ">=",
"type" => "NUMERIC"
),
"member_max" => array(
"key" => "member_count",
"compare" => "<=",
"type" => "NUMERIC"
)
)
Pomenoval som dve polia vnútri member_count a skončil zoradený podľa týchto kľúčov.