1

Let’s say i have custom taxonomy named “Location” with hierarchial structure like the following :

  • ASIA

    • CHINA
    • INDIA
    • JAPAN

      • Fukuoka
      • Hokkaido
      • Okinawa
      • Tokyo

        • Akishima
        • Machida
        • Tachikawa
        • ...
  • AFRICA

  • AMERICA

  • EUROPE

  • ...

On the taxonomy archive template (taxonomy.php) , i want to display links to all DIRECT CHILD of the current taxonomy being viewed.

So for example, if someone view the “ASIA” archive page they will see link to CHINA, INDIA, and JAPAN archive page only and exclude the “grandchildren” taxonomy.

Then if someone view the JAPAN archive page they will see a link to FUKUOKA, HOKKAIDO, OKINAWA, and TOKYO only . Same behavior until it reach the taxonomy with no children and obviously nothing will be displayed

Please help me what to do, i’ve tried several method but none of them work.

Most of the solution i found only manage to display ALL the children taxonomy including the grandchildren.

So instead work like i explained above, the “ASIA” archive page will display all link to CHINA, INDIA, JAPAN, Fukooka, Hokkaido, Tokyo, Akishima, .....

I want to display ONLY the direct children of the current taxonomy and exclude the grandchildren.

1 Answer 1

2

See the Codex. The wp_list_categories allows you to set a child_of and a depth (in this case 1, we only want to go one level down).

See the link to the Codex about styling it; there's a whole host of options.

<?php $term = get_queried_object();
     wp_list_categories(array(
       'taxonomy'=>$term->taxonomy,
       'child_of'=>(int) $term->term_id,
       'hide_empty'=>0,
       'depth'=>1,
  )); ?>

I've only tested this on built-in categories, but this should work for custom taxonomies too.

1
  • Awesome!, this work flawlessly. thank you very much.. Jan 27, 2012 at 0:44

Your Answer

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

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