$sql="SELECT * FROM (SELECT term.name, count(*) as total, CAST(`{$prefix}termmeta`.`meta_value` as INT) as no, `{$prefix}termpage`.`meta_value` as pageID
FROM `{$prefix}posts` AS `t`
LEFT JOIN `{$prefix}postmeta` AS `valid` ON `valid`.`meta_key` = 'valid' AND `valid`.`post_id` = `t`.`ID`
LEFT JOIN `{$prefix}term_relationships` AS `rel_term` ON `rel_term`.`object_id` = `t`.`ID`
INNER JOIN `{$prefix}term_taxonomy` AS `rel_tt_term` ON `rel_tt_term`.`taxonomy` = '{$type}' AND `rel_tt_term`.`term_taxonomy_id` = `rel_term`.`term_taxonomy_id`
LEFT JOIN `{$prefix}terms` AS `term` ON `term`.`term_id` = `rel_tt_term`.`term_id`
LEFT JOIN `{$prefix}termmeta` AS `{$prefix}termmeta` ON {$prefix}termmeta.term_id = term.term_id AND {$prefix}termmeta.meta_key = 'order'
LEFT JOIN `{$prefix}termmeta` AS `{$prefix}termpage` ON {$prefix}termpage.term_id = term.term_id AND {$prefix}termpage.meta_key = 'page-id'
LEFT JOIN `{$prefix}term_relationships` AS `polylang_languages` ON `polylang_languages`.`object_id` = `t`.`ID` AND `polylang_languages`.`term_taxonomy_id` = $langID
WHERE ( ( `valid`.`meta_value` >= '{$today}' ) AND ( `t`.`post_type` = 'job' ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( 'publish' ) ) )
// $sql = "SELECT * FROM (SELECT term.name, count(*) as total, CAST(`{$prefix}termmeta`.`meta_value` as INT) as no, `{$prefix}termpage`.`meta_value` as pageID
// FROM `{$prefix}posts` AS `t`
// LEFT JOIN `{$prefix}postmeta` AS `valid` ON `valid`.`meta_key` = 'valid' AND `valid`.`post_id` = `t`.`ID`
// LEFT JOIN `{$prefix}term_relationships` AS `rel_term` ON `rel_term`.`object_id` = `t`.`ID`
// INNER JOIN `{$prefix}term_taxonomy` AS `rel_tt_term` ON `rel_tt_term`.`taxonomy` = '{$taxonomy}' AND `rel_tt_term`.`term_taxonomy_id` = `rel_term`.`term_taxonomy_id`
// LEFT JOIN `{$prefix}terms` AS `term` ON `term`.`term_id` = `rel_tt_term`.`term_id`
// LEFT JOIN `{$prefix}termmeta` AS `{$prefix}termmeta` ON {$prefix}termmeta.term_id = term.term_id AND {$prefix}termmeta.meta_key = 'order'
// LEFT JOIN `{$prefix}termmeta` AS `{$prefix}termpage` ON {$prefix}termpage.term_id = term.term_id AND {$prefix}termpage.meta_key = 'page-id'
// LEFT JOIN `{$prefix}term_relationships` AS `polylang_languages` ON `polylang_languages`.`object_id` = `t`.`ID` AND `polylang_languages`.`term_taxonomy_id` = $langID
// WHERE ( ( `valid`.`meta_value` >= '{$today}' ) AND ( `t`.`post_type` = 'job' ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( 'publish' ) ) )
// GROUP BY term.name) records
// ORDER BY $order, name ASC";
// delog($sql);
// debug($citiesQuery);
// debug($wpdb->get_results($sql, ARRAY_A));
// exit();
// return $wpdb->get_results($sql, ARRAY_A);
// ORDER BY `wp_termmeta`.`meta_value` DESC, city.name;
// LEFT JOIN `wp_temmeta` AS `meta` ON `meta`.`meta_key` = 'order' AND `valid`.`term_id` = `t`.`ID`
// // Get all term ID's in a given taxonomy
// $taxonomy = 'taxonomy_name';
// $taxonomy_terms = get_terms( $taxonomy, array(
// 'hide_empty' => 0,
// 'fields' => 'ids'
// ) );
// // Use the new tax_query WP_Query argument (as of 3.1)
// $taxonomy_query = new WP_Query( array(
// 'tax_query' => array(
// array(
// 'taxonomy' => $taxonomy,
// 'field' => 'id',
// 'terms' => $taxonomy_terms,
// ),
// ),
// ) );
// $taxonomy = 'city';
// $cities = get_terms( array(
// 'taxonomy' => $taxonomy,
// 'fields' => 'ids'
// // 'orderby' => 'count',
// // 'order' => 'DESC'
// ));
// $args = array(
// 'post_type' => 'post',
// 'tax_query' => array(
// array(
// 'taxonomy' => 'your_custom_taxonomy',
// 'operator' => 'EXISTS'
// ),
// ),
// );
// $query = new WP_Query( $args );
// $citiesQuery = new WP_Query( array(
// 'post_type' => 'job',
// // 'tax_query' => array(
// // array(
// // 'taxonomy' => 'city',
// // 'operator' => 'EXISTS'
// // ),
// // ),
// ) );
// delog( $citiesQuery->parse_query());
// // delog($citiesQuery->found_posts());
// // if ( $citiesQuery->have_posts() ) :
// // // while( $citiesQuery->have_posts() ) :
// // // $citiesQuery->the_post();
// // // debug($citiesQuery);
// // // endwhile;
// // endif;
// wp_reset_query();
// SELECT city.name, count(*), `wp_termmeta`.`meta_value` as v
// FROM `wp_posts` AS `t`
// LEFT JOIN `wp_postmeta` AS `valid` ON `valid`.`meta_key` = 'valid' AND `valid`.`post_id` = `t`.`ID`
// LEFT JOIN `wp_term_relationships` AS `rel_term` ON `rel_term`.`object_id` = `t`.`ID`
// INNER JOIN `wp_term_taxonomy` AS `rel_tt_term` ON `rel_tt_term`.`taxonomy` = 'city' AND `rel_tt_term`.`term_taxonomy_id` = `rel_term`.`term_taxonomy_id`
// LEFT JOIN `wp_terms` AS `city` ON `city`.`term_id` = `rel_tt_term`.`term_id`
// INNER JOIN `wp_termmeta` AS `wp_termmeta` ON wp_termmeta.term_id = city.term_id AND wp_termmeta.meta_key = 'order'
// LEFT JOIN `wp_term_relationships` AS `polylang_languages` ON `polylang_languages`.`object_id` = `t`.`ID` AND `polylang_languages`.`term_taxonomy_id` = 2
// WHERE (
// ( `valid`.`meta_value` > "2019-05-25" ) AND
// ( `t`.`post_type` = "job" )
// AND ( `polylang_languages`.`object_id` IS NOT NULL )