Uma vírgula entre cada item, exceto o último com get_the_term_list

Eu pesquiso aqui e no Google e não consigo encontrar resposta à minha pergunta, apenas espero que você ache isso relevante.

Estou fazendo um site de revistas e preciso exibir nomes de contribuidores como um byline. Estou tirando as informações da taxonomia ‘Contribuinte’ para exibir seus nomes.

ID , 'contributors', 'By ',' and '); ?> 

Isso me dá, pelo contribuinte1 e colaborador2 e colaborador3 e colaborador4

Mas eu gostaria de ter algo assim em vez disso:

Pelo contribuinte1, colaborador2, colaborador3 e colaborador4

Talvez não seja possível, me avise.

Desde já, obrigado,

François

Solutions Collecting From Web of "Uma vírgula entre cada item, exceto o último com get_the_term_list"

get_the_term_list usa get_the_terms para buscar os objects do termo. Você pode usar essa function e criar a lista como quiser.

Se você olhar para a fonte …

 1420 */ 1421 $term_links = apply_filters( "term_links-$taxonomy", $links ); 1422 1423 return $before . join( $sep, $term_links ) . $after; 1424 } 

… você verá que não há nenhum filtro que permita que você altere a seqüência de caracteres de forma que afete onde o separador ocorre.

Você poderia canalizar a saída através de alguns regex mas o regex na marcação é complicado e propenso a erros. Seria melhor copiar essa function central, renomeá-la e alterá-la para fazer o que você precisa.