web-dev-qa-db-ja.com

現在の製品のみのget_terms親

誰かが私に手がかりを与えてくれることを望みます。

私は実際には1ページの商品にすべての商品カテゴリ(product_cat分類法)を表示しています。商品自体に関する子も表示しています。

例:Product-AにはCat1-parent> Cat1-child1、Cat1-child2 =>というコードが正しく表示されていますが、別の既存の製品に属する他の親カテゴリも表示されています。カテゴリは子なしで表示されます。

そのため、Idは商品自体に属する親カテゴリのみを表示します。

Get_terms関数を使用してコードの冒頭に知識が不足していると思います

$parents = get_terms( 'product_cat' , array( 'parent' => 0 ) );

foreach( $parents as $parent ):

echo '<div class="parent '.$parent->slug.'">' . $parent->name . '</div>';
1

get_terms は分類法のすべての用語を取得することに関連しています。 get_the_terms 投稿に関連するすべての用語をつかみます。

問題は、子ではなく親カテゴリである用語を返したいだけで、get_the_termsが引数配列を渡さないということです。

$terms = get_the_terms( get_the_ID(), 'product_cat' );

foreach ( $terms as $term ){
    if ( $term->parent == 0 ) {
        echo '<div class="parent '.$term->slug.'">' . $term->name . '</div>';
    }
}
1
socki03

レッスンありがとうございます。私は今よくわかります。私はちょうど私の用語名に変更して、私のフル機能に挿入しました:$parents = get_the_terms( get_the_ID(), 'product_cat' );

foreach ( $parents as $parent ):if ( $parent->parent == 0 ) {echo '<div class="parent '.$parent->slug.'">' . $parent->name . '</div>';}

あなたは私を大いに助けた。ありがとうございました!

0