На самом деле тот ответ, на который вы дали ссылку, в порядке, и также решает вашу проблему. Может быть, вы делаете неправильную реализацию.
Вот пример кода для вашего случая:
global $post;
$ctp_listing_cats=wp_get_post_terms( $post->ID, 'listing-category' );
if (!empty($ctp_listing_cats[0]->term_id)){
$topparent=get_term_top_most_parent($ctp_listing_cats[0]->term_id,'listing-category');
}
//...
echo '<div id="main-content" class="'.$topparent->name.'">';
get_term_top_most_parent()
функция данного кода - это функция из другого ответа, на который вы дали ссылку.