I'm trying to find a way to check if the current category (archive.php) is the lowest/end child cat in a hierarchical structure.

Something like

IF current cat is smallest child THEN do this

1 Answer 1


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.