Get the first post term

How do I get only the first term of a custom post type.
I can get all – no problem. This what I am using to grab all of them

<?php foreach ($terms as $term) {echo '<a href="'.get_term_link($term->slug, 'sitecat').'">'.$term->name.'</a>,';} ?> >> <a href="<?php the_permalink(); ?>"><?php the_title('', ''); ?></a></h2></span>

Would appreciate an answer using my code but any help is most welcomed

Solutions Collecting From Web of "Get the first post term"

I’m not sure what you mean by ‘first’ taxonomy… but,

$terms = get_the_terms( $post->ID, 'mytaxonomy' );

returns an array of taxonomy term objects, so

$term = array_pop($terms);

Would give you the first term in the array. And then:

echo '<a href="'.get_term_link($term->slug, 'mytaxonomy').'">'.$term->name.'</a>,'

(You may want to include some if statements, in case an empty array or error is returned (see is_wp_error)

As of PHP 5.4, you can directly dereference an array, so to get the first term, you can simply do.

$first_term = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0];
var_dump( $first_term );

If you need a specific property (say the term name) of the first term, you can do the following

$first_term_name = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0]->name;
var_dump( $first_term_name );


Just a note, this does have its draw backs because you will get a WP_Error object if the taxonomy is invalid. Also, if the returned array is empty, you will also get an undefined array key warning, so use this with with care.

It worked for me. It brings only the first category as text, no anchor.

$terms = get_the_terms( $post->ID , 'your_custom_taxonomy' ); 
foreach( $terms as $term ) { 
    print $term->name;

how about directly access the key of object?

$terms = get_the_terms( $post->ID, 'sitecat' );
$first_term = $terms[0];

so you can access the object.

echo $first_term->name;