カスタムの分類法またはカテゴリから親用語のみを取得する方法はありますか?
はい、Michaelが指摘したように、呼び出し時にget_terms
にparentパラメーターを渡すだけです。
WP 4.5以降、これが推奨される使用法です。
$myterms = get_terms( array( 'taxonomy' => 'taxonomy_name', 'parent' => 0 ) );
WP 4.5より前は、これがデフォルトの使用法でした。
$myterms = get_terms( 'taxonomy_name_here', array( 'parent' => 0 ) );
0
の親値を持つすべての用語を返します。トップレベルの用語.
ウーコマースメールテンプレートの場合は、以下を使用します。
$terms = get_the_terms( $_product->id , 'product_cat');
if($terms) {
foreach( $terms as $term ) {
$term = get_term_by("id", $term->parent, "product_cat");
if ($term->parent > 0) {
$term = get_term_by("id", $term->parent, "product_cat");
}
$cat_obj = get_term($term->term_id, 'product_cat');
$cat_name = $cat_obj->name;
}
}
echo '<br />('. $cat_name . ')';
$archive_cats= get_terms( 'archivecat', 'orderby=count&hide_empty=0&parent=0' );