一起显示所有类别名称 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' =&gt; false, 'taxonomy' =&gt; 'product_cat')); 它正在工作。但我需要使用循环回显 现在可以使用了。只是改变了一点$categories = get_categories( array( 'hide_empty' =&gt; true, 'taxonomy' =&gt; 'product_cat')); foreach( $categories as $category ) echo '&lt;a class="btn btn-light"&gt;' . $category-&gt;name . '&lt;/a&gt;'; 很高兴它成功了。

以上是关于一起显示所有类别名称 woocommerce的主要内容,如果未能解决你的问题,请参考以下文章

Discord - 使用 python 显示来自特定类别的频道名称

如何在 wordpress 中显示自定义帖子类别名称列表

WordPress - 带有类别列表的主题选项页面

显示文章类别的名称

修改嵌套父程序代码以使用名称而不是 ID

带AJAX和Jquery的asp.net MVC中的实时搜索数据