Алексей, это и есть для текущего поста, обратите внимание на первый параметр $post->ID. В глобальной переменной $post находится текущий пост. В цикле, разумеется. Если у вас какой-то произвольный цикл и глобальные переменные вы не сетапите (например, get_posts + обычный foreach), то передавайте первым параметром ID текущего поста в итерации.
Алексей, сейчас я вас сильно удивлю - the_category тоже принимает параметр $post_id, просто он не обязателен. Если его не передавать, то будет взят глобальный $post. Ну и сама функция the_category является оберткой обертки функции get_the_terms. Так же как и the_terms является оберткой для get_the_terms. То есть, сами термины они получают одинаково.
Можете сделать свою собственную обертку. Например, ваша таксономия называется color. Добавьте в свой functions.php:
Не тестировал, возможно придется дернуть $post_id из глобальной области видимости. Ну и остальные переменные надо же определить ($before, $sep, $after)