【问题标题】:Get list of subcategories in subcategory with the same parent获取具有相同父级的子类别中的子类别列表
【发布时间】:2020-03-11 12:38:50
【问题描述】:

也许标题有点奇怪,但我遇到了这个我无法弄清楚的问题。我得到了这段代码,它获取了父类别中所有子类别的列表。

我的分类结构如下:

  • 父类
    • 子类别 1
    • 子类别 2
    • 子类别 3

当您在 Parentcategory 中时,您会看到所有子类别的列表。但是,当您在子类别存档页面上时,列表就消失了。

这很有道理,但是我如何确保当您在子类别页面上时,它保持列表相同。显示与当前子类别具有相同父类别的所有类别。

是否可以在我使用一个“archive-product.php”的代码中执行此操作

<?php

    $term = get_queried_object();

    $children = get_terms( $term->taxonomy, array(
        'parent'    => $term->term_id,
        'hide_empty' => false
    ) );

    if ( $children ) { 
        foreach( $children as $subcat )
        {
            echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>';
        }
    }
?>

【问题讨论】:

  • 您的意思是: 2016 年 9 月 5 日 8:08 回答?
  • 如果您在子类别的类别存档页面上,那么get_queried_object 应该返回该子类别术语对象,如果我没记错的话。因此,您必须为此找到父类别,然后使用 get_terms 中的父术语 ID - 基本上是 Max 建议的。至少正确地解释那是如何“不工作”的。你什么都没有得到,别的东西,是否发生错误?

标签: php wordpress parent-child categories


【解决方案1】:

只需检查您的孩子是否空使用:

$neighbors = get_terms( [
    'taxonomy'   => $term->taxonomy,
    'parent'     => $term->parent,
    'hide_empty' => false
] );

【讨论】:

  • 感谢您的回复,但我对此进行了测试,但它对我不起作用。当我在一个子类别中时,我需要一个所有其他子类别的列表以及同一父级的当前类别。我更改了您提供的代码进行测试,但没有运气
  • 非常抱歉Max,我赶时间没注意。我试过你的解决方案,它奏效了!非常感谢!
  • @user2812779 干得好
  • @user2812779 顺便说一句,在 WP 4.5 之后建议在所有参数中写入“分类法”。更新示例。
  • @user2812779 我认为还需要检查0 !== $term-&gt;parent
猜你喜欢
  • 1970-01-01
  • 2011-07-30
  • 2022-01-05
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多