admin管理员组

文章数量:1130349

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

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

Share Improve this question asked Nov 19, 2018 at 0:56 PetePete 1,0582 gold badges14 silver badges40 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 3

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.

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

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

Share Improve this question asked Nov 19, 2018 at 0:56 PetePete 1,0582 gold badges14 silver badges40 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 3

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.

本文标签: categoriesConditional IF current cat is the smallestlastend child cat THEN