The parse_term_query WordPress PHP action fires after term query variables have been parsed, allowing you to modify the term query before it is executed.
Usage
add_action('parse_term_query', 'your_custom_function'); function your_custom_function($query) { // your custom code here }
Parameters
$query
(WP_Term_Query) – The current instance of WP_Term_Query.
More information
See WordPress Developer Resources: parse_term_query
Examples
Modify the ‘orderby’ parameter
Change the order of terms by their term group.
add_action('parse_term_query', 'change_orderby_term_group'); function change_orderby_term_group($query) { $query->query_vars['orderby'] = 'term_group'; }
Exclude terms by term ID
Exclude terms with specific IDs from the query.
add_action('parse_term_query', 'exclude_terms_by_id'); function exclude_terms_by_id($query) { $exclude_ids = array(5, 9, 15); $query->query_vars['exclude'] = $exclude_ids; }
Set the number of terms per page
Limit the number of terms displayed per page.
add_action('parse_term_query', 'set_terms_per_page'); function set_terms_per_page($query) { $query->query_vars['number'] = 10; }
Hide empty terms
Hide terms with no associated posts.
add_action('parse_term_query', 'hide_empty_terms'); function hide_empty_terms($query) { $query->query_vars['hide_empty'] = true; }
Show terms from a specific parent term
Display terms that have a specific parent term.
add_action('parse_term_query', 'show_terms_by_parent'); function show_terms_by_parent($query) { $query->query_vars['parent'] = 3; }