To order taxonomy terms by a meta value (e.g., topic_order), use WP_Term_Query because get_terms() doesn’t natively support ordering by term meta.
I know there is two native way to do it but static way is static and dynamic way doesnt work properly it is buggy.. thats why I just used custom query.
this is for bricks;
return [
'taxonomy' => 'codex-topic',
'hide_empty' => false,
'meta_key' => 'topic_order',
'orderby' => 'meta_value_num',
'order' => 'ASC'
];
This is for native php WordPress WP_Term_Query if you need it;
$args = array(
'taxonomy' => 'codex-topic',
'hide_empty' => false,
'meta_key' => 'topic_order',
'orderby' => 'meta_value_num',
'order' => 'ASC',
);
$term_query = new WP_Term_Query($args);
if (!empty($term_query->terms) && !is_wp_error($term_query->terms)) {
foreach ($term_query->terms as $term) {
echo '<p>' . esc_html($term->name) . '</p>';
}
}