显示动态 WooCommerce 兄弟姐妹和直接子类别列表

Posted

技术标签:

【中文标题】显示动态 WooCommerce 兄弟姐妹和直接子类别列表【英文标题】:Display a dynamic WooCommerce siblings and direct children category list 【发布时间】:2022-01-15 05:19:22 【问题描述】:

尝试创建显示当前产品类别的同级和第一级子级的函数。所以不是兄弟姐妹的孩子或孩子的孩子。

类别可以深入 4 级,我需要列表根据当前页面更改显示的内容。

例子:

1 类 2 类 类别 3 3-1 类 3-2 类 3-3 类 3-4 类 第 4 类 5 类

我发现一些帖子解释了显示兄弟姐妹或第一级孩子。但我试图将两者结合起来,但没有成功:

Get a list of siblings term ids from current product category in WooCommerce

Display current category first then child categories in WooCommerce

有什么想法吗?任何能够为我指明正确方向的事情都会有所帮助。

【问题讨论】:

【参考方案1】:

经过多次尝试和错误,我终于弄明白了:

function wc_cat_menu() 

  $queried_object       = get_queried_object();
  $taxonomy             = 'product_cat';

  $sibling_terms        = get_terms( array(
    'taxonomy'          => $taxonomy,
    'hide_empty'        => false,
    'parent'            => $queried_object->parent
  ) );

  echo '<ul>';

  foreach( $sibling_terms as $sibling ) 
    if ( $sibling->parent > 0 ) 

      $sibling_id = $sibling->term_id;
      
      $siblingChildren  = get_terms( $taxonomy, array( 
        'parent'        => $sibling_id,
        'hide_empty'    => false
      ) );

      echo '<li><a href="' . get_term_link( $sibling ) . '">' . $sibling->name . '<span> (' . $sibling->count . ')</span></a>';        

      if( $siblingChildren ) 
        echo '<ul>';
          foreach ( $siblingChildren as $child ) 
            echo '<li><a href="' . get_term_link( $child, $taxonomy ) . '">' . $child->name . '<span> (' . $child->count . ')</span></a></li>';
          
        echo '</ul>';
      

      echo '</li>';
      
    
  

  echo '</ul>';


在这个过程中学到了很多东西!可能有一种非常有效的方法来实现这一点,欢迎提出任何建议。

【讨论】:

以上是关于显示动态 WooCommerce 兄弟姐妹和直接子类别列表的主要内容,如果未能解决你的问题,请参考以下文章

悬停元素,在父元素兄弟姐妹子元素上显示悬停效果

使用自动布局调整超级视图和所有超级视图的兄弟姐妹的大小

哪位兄弟姐妹怎么在SAP/ABAP的表BKPF中增加自定义字段怎么做

php 显示CPT的兄弟姐妹

php 显示CPT的兄弟姐妹

如何显示目标的祖父母的兄弟姐妹?