我已经能够按层次显示Woocommerce类别术语的列表。现在,我正在努力将列表中的第一个类别术语作为默认术语。因为我将父类别显示为选项卡链接,子类别显示为选项卡内容。那么,如何获得作为默认活动选项卡出现的第一个父类别呢?
我想我们可以试着得到这样的东西:
<button class="tablinks <?php if ( $first_element == $default_active_tab ) echo esc_attr( \'active\' ); ?>"
这是获取所有父产品类别术语的代码,
<?php
$parent_args = array(
\'taxonomy\' => \'product_cat\',
\'hide_empty\' => true,
\'parent\' => 0
);
$product_cat = get_terms( $parent_args );
foreach ($product_cat as $parent_cat)
{
echo\'<buttonclass="tablinks"onclick="myFunction(event,\\\'\'.$parent_cat->name.\'\\\')">\'.$parent_cat->name.\'</button>\';
}
?>
最合适的回答,由SO网友:LoicTheAztec 整理而成
尝试以下改进代码,以在第一项上“激活”:
<?php
$product_cats = get_terms([
\'taxonomy\' => \'product_cat\',
\'hide_empty\' => true,
\'parent\' => 0,
\'fields\' => \'names\' // Term names
]);
foreach ( $product_cats as $key => $parent_term_name ) {
printf( \'<button class="tablinks %s" onclick="%s">%s</button>\',
$key === 0 ? esc_attr( \'active\' ) : \'\',
"myFunction(event,\'{$parent_term_name}\')",
$parent_term_name
);
}
?>