Как извлечь URL из get_the_term_list?

Как извлечь URL из:

$url = get_the_term_list($post->ID, 'nom-origin') 

Я пробовал много вещей, но я просто не понимаю. Единственное решение, которое я получил, это, но я знаю, что это слишком грязно:

 $url = get_the_term_list($post->ID, 'nom-origin');//,'<h3>Job Category:</h3> ', ', ', '' ); $url_tmp1 = explode("href=\"",$url); $url_tmp2 = explode("\" rel=\"tag\">",$url_tmp1[1]); $url_simple = $url_tmp2[0]; 

Solutions Collecting From Web of "Как извлечь URL из get_the_term_list?"

get_term_link дает вам ссылку на конкретный термин таксономии.

 $terms = get_object_terms( $post->ID, 'nom-origin' ); $urls = array(); foreach( $terms as $term ) { $url[] = get_term_link( $term->slug, 'nom-origin' ); //Or do whatever you want here with the url } 

Никогда не пытайтесь разобрать полную разметку, когда вам это не нужно. Следуйте вызовам функций.

  1. get_the_term_list использует get_the_terms
  2. get_the_terms возвращает массив терминов
  3. Вы можете использовать этот массив плюс get_term_link для получения ваших URL-адресов

И код для этого находится в Codex .

 $terms = get_terms('species'); echo '<ul>'; foreach ($terms as $term) { echo '<li><a href="'.get_term_link($term->slug,species').'">'.$term->name.'</a></li>'; } echo '</ul>'; 

Возможно, вам захочется построить массив, но его та же идея:

 $terms = get_terms('species'); $turls = array(); foreach ($terms as $term) { $turl[] = get_term_link($term->slug,'species'); }