一起显示所有类别名称 woocommerce
Posted
技术标签:
【中文标题】一起显示所有类别名称 woocommerce【英文标题】:Display all category name together woocommerce 【发布时间】:2022-01-02 12:48:32 【问题描述】:我尝试将所有类别名称与此代码一起显示。 但它只显示了一个类别(未分类)。我想显示类别名称,例如 - 类别 1、类别 2、类别 3 等等。谁能帮忙找出问题?
<?php
$categories = get_categories();
if (!empty( $categories))
foreach( $categories as $category )
echo ''<span class="simple-news-categories">' . $category->name . '</span>';
?>
【问题讨论】:
【参考方案1】:get_categories()
不会返回所有类别。它将仅返回具有与之关联的帖子的类别。这意味着,该函数将仅返回帖子中使用的类别。所以你需要将参数hide_empty
设置为false。
试试这个
$categories = get_categories( array('hide_empty' => false));
$categories = wp_list_pluck($categories, 'name');
echo '<span class="simple-news-categories">'.implode(', ', $categories).'</span>';
更新
如果您的要求是显示 WooCommerce 产品类别,请使用以下内容。
$categories = get_categories( array('hide_empty' => false, 'taxonomy' => 'product_cat'));
$categories = wp_list_pluck($categories, 'name');
echo '<span class="simple-news-categories">'.implode(', ', $categories).'</span>';
【讨论】:
我仍然只得到一个类别(未分类)。我需要一起显示所有类别。 好的。上面的代码将显示帖子中的类别。如果您的要求是显示 WooCommerce 产品类别,那么您必须使用get_categories( array('hide_empty' => false, 'taxonomy' => 'product_cat'));
它正在工作。但我需要使用循环回显
现在可以使用了。只是改变了一点$categories = get_categories( array( 'hide_empty' => true, 'taxonomy' => 'product_cat')); foreach( $categories as $category ) echo '<a class="btn btn-light">' . $category->name . '</a>';
很高兴它成功了。以上是关于一起显示所有类别名称 woocommerce的主要内容,如果未能解决你的问题,请参考以下文章