【问题标题】:WordPress get_terms() function not display custom taxonomy categories for woocommerceWordPress get_terms() 函数不显示 woocommerce 的自定义分类类别
【发布时间】:2020-01-22 12:50:51
【问题描述】:

我编写的以下代码应该显示 wordpress 电子商务网站的所有产品类别。

<?php $categories = get_terms( 
  array(
   'taxonomy' => 'product_cat',
   'hide_empty' => 'false',
   'numberposts' => -1)
  );
?>
<?php var_dump($categories); ?>
<?php foreach( $categories as $category ): ?>
 <h4 class="shop-category-name d-inline"><?php echo $category->name; ?></h4>
<?php endforeach; ?>

我在 woocommerce 挂钩中使用它,该挂钩负责在主商店页面 woocommerce_before_main_content 之前呈现内容。 我无法获得类别,我只会看到一个类别,而其他类别没有列出。我不确定,但这可能与我在 woocommerce 挂钩中使用该函数有关?我对商店页面的特色图片也有类似的问题,由于这种动机,我无法显示它,我修改了代码以使用wc_get_page_ID('pag name')

有解决办法吗?

【问题讨论】:

  • 删除'numberposts' =&gt; -1

标签: php wordpress woocommerce hook-woocommerce


【解决方案1】:

尝试在函数中这样使用,你用于woocommerce钩子woocommerce_before_main_content

add_action( 'woocommerce_before_main_content', 'woo_cats', 20, 0 );
function woo_cats(){
 $cat_args = array(
    'orderby'    => 'name',
    'order'      => 'asc',
    'hide_empty' => false,
);

$product_categories = get_terms( 'product_cat', $cat_args );

 if( !empty($product_categories) ){
    echo '<ul>';
    foreach ($product_categories as $key => $category) {
        echo '<li>';
        echo '<a href="'.get_term_link($category).'" >';
        echo $category->name;
        echo '</a>';
        echo '</li>';
    }
    echo '</ul>';
 }
}

【讨论】:

  • 在单独的函数中还是在钩子里面?如果在钩子里面,我里面已经有函数调用了。
  • 我已经更新了我的答案,所以现在你可以直接在你的functions.php中写这个。如果有帮助,请告诉我
猜你喜欢
  • 2012-03-19
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多