web-dev-qa-db-ja.com

用語の深さを決定する

階層ツリー内の用語の深さを見つけることができるようにしています。

Produce
-- Vegetables
---- Carrot
---- Onion
---- Celery
-- Fruit
---- Apple
------ HoneyCrisp
----Orange

生産はレベル0(または1)、フルーツはレベル1、アップルは2、ハニークリスプは3などです。

理想的な使い方は$depth = get_term_depth( $term_id );です。誰もがこれで経験がありますか?

アーカイブページという用語の深さに応じて、本質的に異なるレンダリングをしたいです。

3
Eric Holmes

私の担当者をぶつけようとしていませんが、私は私自身の答えを見つけました。 get_ancestors を使用すると、任意の項目の階層を取得できます。用語は1つの親しか持てないため、これで十分です。このリストの項目数は用語の深さレベルに相当し、用語IDも提供します。

使用法:

$ancestors = get_ancestors( $term_id, 'custom-taxonomy-slug' );
print_r( $ancestors ) ; // array( 0 => 15, 1 => 45 ) - 3rd level term
5
Eric Holmes