You can check if the current term has children. If it does, it’s not the lowest, if it doesn’t, it’s the lowest of that branch.
if( is_category() ){
$children = get_terms( [
'taxonomy' => 'category',
'child_of' => get_queried_object_id(),
'hide_empty' => false
] );
if( empty( $children ) ){
echo 'this term has no children';
} else {
echo 'this term has children';
}
}
I’ve also set hide_empty
to false
, which will return empty child terms. If you don’t want to return terms that have no posts assigned, you can remove that argument.