Wordpress - get_terms name__like list categories according to letter
Use the terms_clauses
filter, which passes all the various components of the query (fields, join, where, orderby, order & limits), and implement your own "search" argument:
function wpse_178511_get_terms_fields( $clauses, $taxonomies, $args ) {
if ( ! empty( $args['surname'] ) ) {
global $wpdb;
$surname_like = $wpdb->esc_like( $args['surname'] );
if ( ! isset( $clauses['where'] ) )
$clauses['where'] = '1=1';
$clauses['where'] .= $wpdb->prepare( " AND t.name LIKE %s OR t.name LIKE %s", "$surname_like%", "% $surname_like%" );
}
return $clauses;
}
add_filter( 'terms_clauses', 'wpse_178511_get_terms_fields', 10, 3 );
Put in use:
get_terms( 'my_taxonomy', 'surname=E' );