Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.
<?php echo get_the_term_list( $post->ID, 'people', 'People: ', ' ', '' ); ?> 

returns something like this:

People: <a href="person1">Person1</a>, <a href="person2">Person2</a>, ...

How can I make it return the same thing without links like this:

People: Person1, Person2
share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

It may be easier to just write the list manually, something like:

$terms = wp_get_post_tags( $post->ID );

foreach( $terms as $term )
    $term_names[] = $term->name;

echo implode( ', ', $term_names );
share|improve this answer
How would this work for a custom taxonomy? I tried: $terms = get_the_term_list( $post->ID,'people'); but that gave me an error –  Carson Apr 19 '11 at 5:22
@Carson you are using the wrong function there, you want wp_get_object_terms() so it would be: $terms = wp_get_object_terms( $post->ID, 'people' ); –  Joe Hoyle May 30 '11 at 23:23
Thanks, that's it! –  Carson Jun 4 '11 at 0:38
add comment

I found another method that more directly answers my question:

<?php $terms_as_text = get_the_term_list( $post->ID,'people', 'People: ', ', ');
if (!empty($terms_as_text)) echo '<p>', strip_tags($terms_as_text) ,'</p>'; ?>

Credit: CSS Tricks

share|improve this answer
don't do that. use Joe's solution, but with wp_get_post_terms($post->ID, 'people') instead of wp_get_post_tags() –  onetrickpony Apr 19 '11 at 6:04
add comment

Alternatively you can also use

echo strip_tags (
    get_the_term_list( get_the_ID(), 'tax_name', "Text Before Value ",", " )
share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.