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

首先显示当前类别,然后显示子类别

秦宁
2023-03-14

我试图在侧边栏中显示当前页面的类别和子类别。标题应该是当前类别的名称,并链接到当前类别。我正在努力实现的一个例子可以在侧边栏中看到:https://food52.com/shop/pantry

以下是我当前的网站示例:https://farmtofrank.wpengine.com/product-category/prepared-foods/

这是我迄今为止创建的代码:

<?php

$terms = get_terms([
    'taxonomy' => get_queried_object()->taxonomy,
    'parent'   => get_queried_object_id(),
]);

global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );

echo '<div>';
foreach ( $terms as $term) {
    echo '<p class="filters"><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></p>';  
}
echo '</div>';

?>

它可以工作,但会将父链接放在列表的底部。如何将父链接保持在子类别上方的顶部?

共有1个答案

仉高昂
2023-03-14

我认为这与产品类别归档页面有关。在这种情况下,您离得很近,请尝试:

$queried_object = get_queried_object();

if ( is_product_category() && is_a($queried_object, 'WP_Term') ) {
    $taxonomy  = $queried_object->taxonomy;

    echo '<h2 class="shop__sidebar-heading">
    <a href="' . get_term_link( $queried_object ) . '">' . $queried_object->name . '</a>
    </h2>';

    $children_terms = get_terms(['taxonomy' => $taxonomy, 'parent' => $queried_object->term_id]);

    if ( ! empty($children_terms) ) {
        echo '<ul class="'.$queried_object->slug.' child-terms">';

        // Loop through children terms
        foreach ( $children_terms as $term) {
            echo '<li class="filters"><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></li>';
        }

        echo '</ul>';
    }
}

测试和工作。它需要一些样式(CSS)。

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

  • 我试图在Woocommerce的当前子类别下显示子类别,比如这个网站。 我有2个家长类别“产品”和“部门”。然后我有一个菜单链接,可以同时访问两者。 当我在“产品”中时,我想看到子类别的图片,类别的标题,然后是所有子类别的标题和链接。 例如,父类别是“产品”,施工是子类别,密封剂 密封胶 这里有一个屏幕截图可以更好地解释它:

  • 我的类别表设计如下 我有三个级别的类别 < li >父项 < li >孩子 < li >子系 如何以下列方式显示它们? (SELECT*From类别):我得到以下数组,如下所示

  • 我正在研究一个模块,在ul的侧栏中有主要类别,在子类别中有一个下拉列表。我的想法是,当我单击主类别中的任何链接时,它应该在下拉列表中显示相关的子类别,当我单击子类别时,它应该在列表视图中的下拉列表中显示下面的产品详细信息。我做了所有这些,但现在正在寻找ajax为我做这件事。 我搜索了它,但大多数情况下我都找到了主类别和子类别的下拉列表,但我不需要主类别的下拉列表。发送给我一个例子或任何链接,有这整

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

  • 我目前正在使用以下代码获取WooCommerce产品类别: 当前显示所有类别,但我希望仅显示子类别。 例如,如果您在“类别1”页面上,则该页面应仅显示该类别中的所有子级。 我在这里看过很多例子,但都找不到适合我需要的东西。