web-dev-qa-db-ja.com

get_the_termsは前項のみを返す

私のカスタム投稿タイプ(portfolio_pt)では、以下のような階層的なカテゴリー構造があります。

ParentCat
|-child
    |-someItem
ParentCat2
|-cild
...

"someItem"ポストのためにget_the_terms関数ですべての用語のリストを取得しようとすると、この関数は最後のカテゴリ( "Parent Cat"なしの "Child Cat")のみを返します。

global $post;
$terms = get_the_terms( $post->ID, 'portfolio_pt_category' );

私はget_the_term_list関数を使用しようとしますが、効果は同じです、それは最後のカテゴリだけを返します。

手伝ってくれてありがとう!

1

get_the_termsの代わりに get_terms を使用して、hierarchal引数をtrueに設定してください。また、空のカテゴリを非表示にしないように、必ず空にしてください。

このようなことを試してください:

$args = array(
'hide_empty'    => false,
'hierarchical'    => true
); 
$terms = get_terms('portfolio_pt', $args);

foreach($terms as $term)
    echo $term->name;
2
campatsky