当前位置: 首页 > 知识库问答 >
问题:

WooCommerce:排序类别/子类别上的子类别页面太

锺威
2023-03-14

我发现了一个WooCommerce代码片段,它在分类页面上添加了排序功能,并且可以正常工作。

但问题是排序子类别仅显示在父类别页面上,而不显示在子类别页面中。

为了实现这一点,我需要在代码中修改什么?

这是我的密码:

function tutsplus_product_subcategories( $args = array()) {
$parentid = get_queried_object_id(); 
$args = array(
    'parent' => $parentid
);

$terms = get_terms( 'product_cat', $args );

if ( $terms) {

    echo '<ul class="wooc_sclist">';

        foreach ( $terms as $term ) {

            echo '<li class="category">';                 


                echo '<h2>';
                    echo '<a href="' .  esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
                        echo $term->name;
                    echo '</a>';
                echo '</h2>';

            echo '</li>';


        }

        echo '</ul>';
    }
}
add_action( 'woocommerce_before_shop_loop', 'tutsplus_product_subcategories', 50 );

参考:在单独的列表中显示商业类别、子类别和产品

共有1个答案

贲俊才
2023-03-14

我发现了如何制作它,所以我将与你分享:

        function sub_fillter(){
        $sub = wp_get_post_terms(get_the_ID(),'product_cat');
        if ( is_subcategory()){

            $cat = array_shift( $sub );
            $cat=get_term_top_most_parent($cat->term_id,'product_cat'); 
            tutsplus_product_subcategories($cat);
        }
    }
        add_action('woocommerce_before_shop_loop', 'sub_fillter', 50);

function is_subcategory (){
    $cat = get_query_var('cat');
    $category = get_category($cat);
    $category_gt_parent="";
    return ( $category_gt_parent == '0' ) ? false : true;
}

function tutsplus_product_subcategories( $cat) {
$parentid = $cat->term_id; 
$args = array(
    'parent' => $parentid
);
$terms = get_terms( 'product_cat', $args );

if ( $terms || is_subcategory()) {

    echo '<ul class="wooc_sclist">';

        foreach ( $terms as $term ) {

            echo '<li class="category">';                 

                echo '<h2>';
                    echo '<a href="' .  esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
                        echo $term->name;
                    echo '</a>';
                echo '</h2>';

            echo '</li>';


        }

        echo '</ul>';
    }
}
 类似资料:
  • 我正在使用WooCommerce子类别归档页面上的显示子类别术语列表回答我上一个问题的代码,在我的WooCommerce商店的父类别页面上显示我的子类别 现在我希望它显示为一个下拉列表(理想情况下是一个select2下拉列表,就像其他WooCommerce下拉列表一样),而不是普通的链接。 我知道我可以使用,但如何在主父子类别页面上显示子类别作为下拉列表?

  • 我需要一些关于Woocommerce类别显示选项的帮助。在Wordpress仪表板中,我按照以下链接全局设置类别显示选项<外观- 有三种显示选项可用。 展示产品 目前,选择了第三个选项,它显示子类别以及父类别和子类别下的所有产品。但是,我想排除子类别下的所有产品。换句话说,我只想在父类别下显示子类别和产品。 我在几个教程网站上找到了以下片段。代码完全按照我想要的方式工作,但它也禁用了管理产品搜索和

  • 我目前有一个代码片段,其中对于每个类别,它将找到子类别: 将递归获取一个类别的子级: 目前,使用,只检索子类别的子类别,因此如果每个子类别都有自己的子类别,则不会将其保存到子类别中。 我如何显示子子类别给我们的子类别? 我想用我的代码做的是获取一个父级,获取它的子级,然后将这些子级中的每一个视为父级,递归地获取它的子级,但是我的JSON输出并没有反映这一点。只有父对象有子对象-子对象没有子对象(尽

  • 我是初学者(PHP) 我显示这个日期在PHP嵌套'ul'喜欢(代码)- 一切都很好,没有问题。。。。我的问题,如果点击主分类得到我在这个类别中还没有主题。。。。我需要代码来选择用户是否在主类别中选择了主类别回显子类别——如果选择了子类别,则只显示子类别中的数据,或者用户是否在主类别示例中选择了主类别回显主题::我有类别Photosession和子类别- > 通知- 这是我选择帖子的代码 我认为我的

  • 我有趣的wordpress,并设置了自定义帖子类型(称为产品 我将有一个名为catalog的页面,并希望在一个页面上显示子类别下的所有类别/子类别和产品。 但是,我不确定它的代码。 获取所有类别并回显标题,对于每个带有子类别的父类别,回显子类别,然后回显产品,否则只回显父类别和产品。 类别1(回声父母的东西)子类别1(回声子类别的东西)帖子1(回声帖子的东西)帖子2子类别2帖子1帖子2 第2类第1

  • 希望你能帮我解决这个问题。我有一个问题,一些产品在子类别404'ing当去那里的产品页面。但奇怪的是,我在谷歌上找不到的只是他们中的一些人在做这件事。 实例 SKU:产品1--类别:类别1 SKU:产品2--类别:类别2,子类别1 SKU:Product3--类别:类别2,子类别1 SKU:Product4--类别:类别2,子类别1 将显示Product1、Product2、Product4。带有