質問: get_term_by( 'id', $child, 'product_cat' ); echo '<a href="' . get_term_link( $child, 'product_cat' ) . '">' . $term->name . '</a>'; } これは常に all のブランドを反映しています。この情報を入手して、現在の製品に関連付けられていないブランドを除外する方法を教えてください。
回答: まず第一に私はここで同じ質問をしました、そして私は自分で答えを得ました:) https://wordpress.stackexchange.com/questions/188839/wordpress-tags-and-hierarchy-parent-child-relation これをどうやってやればいいのでしょうか。 $taxonomies = array( 'brands' ); $args = array( 'orderby' => 'name', 'order' => 'asc', 'fields' => 'all', 'parent' => '(parentid)', 'hierarchical' => true, 'child_of' => 0 ); $terms = get_terms($taxonomies, $args); var_dump($terms); foreach ($terms as $term) { print '<h2 class="story-heading">'.$term->name.'</h2>'; } もしあなたがすでに親カテゴリのidを知っていれば、それをintとして渡し、foreachサイクルに入れるだけで、親のすべての子用語(サブカテゴリ)が得られます。また、これを再利用する必要がある場合、同じクエリを複数回表示して異なるparent -> child用語を取得する必要がある場合は、関数を作成してそれをfunctions.phpに配置することをお勧めします。function get_children_of_parent_terms($tax, $pid) { $taxonomies = $tax; $args = array( 'orderby' => 'name', 'order' => 'asc', 'fields' => 'all', 'parent' => $pid, 'hierarchical' => true, 'child_of' => 0 ); $terms = get_terms($taxonomies, $args); var_dump($terms); foreach ($terms as $term) { print '<h2 class="story-heading">'.$term->name.'</h2>'; } } add_action('init','get_children_of_parent_terms'); そして、親の用語(category)から子を検索したいときはいつでも、タクソノミーの親カテゴリ名を$ taxとして、親idを$ pidとして、この関数を呼び出すだけです。たとえば、echo get_children_of_parent_terms('brands','15');がid 15の用語のすべての子用語を出力する、id 15の分類ブランドと親用語。乾杯。