add_filter('post_type_link', 'betons_permalink', 1, 2);
function betons_permalink( $permalink, $post ){
// выходим если это не наш тип записи: без холдера %taxname%
if( strpos($permalink, '%taxname%') === false )
return $permalink;
// Получаем элементы таксы
$terms = get_the_terms($post, 'taxname');
// если есть элемент заменим холдер
if( ! is_wp_error($terms) && !empty($terms) && is_object($terms[0]) )
$term_slug = array_pop($terms)->slug;
// элемента нет, а должен быть...
else
$term_slug = 'no-taxname';
return str_replace('%taxname%', $term_slug, $permalink );
}