[wp-hackers] Getting lowest/last-level terms in hierarchical taxonomy

Nikola Nikolov nikolov.tmw at gmail.com
Mon May 26 08:33:37 UTC 2014


Yeah, that's one my thoughts, but I'm afraid it will cause too many queries
perhaps? Although from looking at the code it seems like
get_term_children() is calling _get_term_hierarchy() every time, which on
the other hand is storing it's data in an option in the options table...
I guess that might work :)

Alternatively, I can store the last-level terms(once I fetch them) in an
option as well and flush that option when a term is added/updated/deleted
from that taxonomy.

Any other ideas?


On Mon, May 26, 2014 at 6:19 AM, Haluk Karamete <halukkaramete at gmail.com>wrote:

> HI Nikola
> what if you walk thru all terms in that tax and check if the current term
> has children or not.
>
> http://codex.wordpress.org/Function_Reference/get_term_children
>
> Did I understand you correctly?
> Here's an interesting one - how can I get all of the *last-level* terms in
> a hierarchical taxonomy?
>
> Take the following hierarchy for instance:
>
>  - Food
>  - - Vegetables
>  - - - Cucumber
>  - - - Carrot
>  - - Bread
>  - - Fruits
>  - - - Citrus Fruits
>  - - - - Orange
>  - - - - Pomelo
>  - Potato
>
> ( I know the potato doesn't make sense, but I just wanted to illustrate the
> fact that some terms might be without children )
>
> In this case, I'd want to grab the following terms: Cucumber, Carrot,
> Bread, Orange, Pomelo, Potato.
>
> I've been looking around I haven't found an easy solution so far.
>
> I can think of two options - getting all terms and then recreating the tree
> from them, or getting each level of terms and doing subsequent get_terms()
> calls(which I don't like, since it's probably going to be very
> inefficient).
>
> My goal is to be able to present to the user a list of all last-level terms
> in the taxonomy and then behind the scenes assign the post to all terms
> from that tree(so, if you select Carrot, your post would be added to
> Vegetables and Food).
> I need to do that, since I have a custom table that stores post to post
> relations and I need to be able to query for all items in a specific
> category/list of categories with as little extra requests as possible(lots
> of data is expected to be stored and performance is key).
>
> Thanks,
> Nikola
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>


More information about the wp-hackers mailing list