Это должно работать, если у вас есть только 2 элемента верхнего уровня с слагами «печать» и «цифровой».Этот код также будет работать для более глубоких деревьев таксономии.
$current_tax = wp_get_post_terms( $post->ID, 'portfolio-categories', array() );
$current_tax_id = $curcat[0]->term_id;
$digital = get_term_by( 'slug', 'digital', 'portfolio-categories', OBJECT );
$print = get_term_by( 'slug', 'print', 'portfolio-categories', OBJECT );
$sub_digital = get_term_children( $digital->term_id, 'portfolio-categories' );
$sub_print = get_term_children( $print->term_id, 'portfolio-categories' );
// this variable will hold the current top-level taxonomy term ID.
$parent_cat_id = in_array($current_tax_id, $sub_digital) ? $digital->term_id : $print->term_id;
Обратите внимание, что я изменил код из своего собственного рабочего кода.Там могут быть небольшие опечатки.Поэтому, пожалуйста, проверьте и не слепо копируйте вставьте это.