获取分类链接以显示顶级术语

时间:2017-11-30 作者:Michiel

是否有可能获得这样一个分类法的链接,而不是其单个术语的链接?该链接将指向模板层次结构中的哪个页面?

考虑一种称为“产品”的层次分类法。顶级术语是“productgroup1”、“productgroup2”和“productgroup3”。现在,我可以获得像“productgroup1”这样的术语的链接(使用get_term_link) 它会是这样的http://localhost/products/productgroup1, 这将指向taxonomy-products.php. 在此页面上,我将显示分类法中术语“productgroup1”的子术语。

但我还需要一个页面来显示所有顶级术语。所以我需要一个链接页面http://localhost/products/ 我将在上面显示顶级术语“productgroup1”、“productgroup2”和“productgroup3”。另外,如果这个链接指向同一个模板就好了taxonomy-products.php, 因为大多数代码都是相同的。

但是http://localhost/products/ 提供404和获取分类法链接的函数不存在?我只能找到一个函数来获取术语的链接。

1 个回复
SO网友:Daniel Fonda

@Webelaine已经回答了你的问题。

你在与自己作对——只需创建一个名为product的自定义帖子类型。

请注意,如果您所追求的是层次结构,那么自定义帖子类型可以是层次结构(如页面)。

EDIT

考虑到OP在评论区域中所陈述的内容,我能提供的最好建议是“创建一个自定义页面模板”,在这里您可以查询所有顶级分类术语。

其代码是:

$args = [
  \'taxonomy\'     => \'product_category\',
  \'parent\'        => 0,
  \'hide_empty\'    => false           
];
$terms = get_terms( $args );
// loop through all terms
foreach( $terms as $term ) {
  // display only the term name
  echo \'<h4>\' . $term->name . \'</h4>\';
}
希望有帮助

结束

相关推荐