【问题标题】:Display all category name together woocommerce一起显示所有类别名称 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>';
       }          
  }
?>

【问题讨论】:

    标签: wordpress woocommerce wordpress-theming


    【解决方案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;';}
    • 很高兴它成功了。
    猜你喜欢
    • 2015-01-01
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2012-09-18
    相关资源
    最近更新 更多