繁体   English   中英

如何在woocommerce中显示子类别(sub-sub-category)的子类别

[英]how to display the subcategories of a subcategory(sub-sub-category) in woocommerce

我正在尝试通过我的wordpress主题中的功能从woocommerce获取产品类别,而我做到了:

<?php
      $taxonomy     = 'product_cat';
      $orderby      = 'name';  
      $show_count   = 0;      // 1 for yes, 0 for no
      $pad_counts   = 0;      // 1 for yes, 0 for no
      $hierarchical = 1;      // 1 for yes, 0 for no  
      $title        = '';  
      $empty        = 0;
    $args = array(
      'taxonomy'     => $taxonomy,
      'orderby'      => $orderby,
      'show_count'   => $show_count,
      'pad_counts'   => $pad_counts,
      'hierarchical' => $hierarchical,
      'title_li'     => $title,
      'hide_empty'   => $empty
    );
    ?>
    <?php $all_categories = get_categories( $args );
    //print_r($all_categories);
    foreach ($all_categories as $cat) {
        //print_r($cat);
        if($cat->category_parent == 0) {
            $category_id = $cat->term_id;

    ?>      

    <?php       

            echo '<br /><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a>'; ?>


            <?php
            $args2 = array(
              'taxonomy'     => $taxonomy,
              'child_of'     => 0,
              'parent'       => $category_id,
              'orderby'      => $orderby,
              'show_count'   => $show_count,
              'pad_counts'   => $pad_counts,
              'hierarchical' => $hierarchical,
              'title_li'     => $title,
              'hide_empty'   => $empty
            );
            $sub_cats = get_categories( $args2 );
            if($sub_cats) {
                foreach($sub_cats as $sub_category) {
                    echo  $sub_category->name ;
                }

            } ?>



        <?php }     
    }
    ?>

这将按层次列出所有顶级类别和子类别,但是我有子类别的子类别(sub-sub-category),因此我如何列出这些子类别。

最简单的方法是通过在function.php中添加以下代码并拖放WooCommerce内置的“ WooCommerce产品类别”小部件来制作小部件块。 它具有一些显示类别/子类别和子子类别的选项。

function arphabet_widgets_init() {

    register_sidebar( array(
    'name' => 'Widget Name',
    'id' => 'sidebar-1',
    'before_widget' => '<div class="your-class">',
    'after_widget' => '</div>',
) );

}    

现在创建一个侧边栏文件sidebar-1.php,并在该文件中添加以下代码:

<?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : else : ?>    
<?php endif; ?>    

通过上传这些文件,您将在wordpress小部件页面上看到小部件阻止选项。 在希望显示类别的位置包括sidebar-1.php文件,并从wordpress小部件部分拖放*“ WooCommerce产品类别” **小部件。

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM