如何在 Woocommerce 的产品页面中获取当前类别 ID?

新手上路,请多包涵

我想在产品页面中获取当前类别 ID,以在 Woocommerce 中显示 templates/single-product/add-to-cart/simple.php 中的内容

If the category ID == 1 {//i'll show something}

if the category ID == 2 {//something else}

所有这些都在“ simple.php

谢谢

编辑 :

 <?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', $cat_count, 'woocommerce' ) . ' ', '</span>' ); ?>

此代码给出了当前产品的产品名称,如果我无法获取 ID,我如何才能获取类别名称的字符串?

原文由 Jean R. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 768
2 个回答

使用此代码

global $wp_query;
$terms_post = get_the_terms( $post->cat_ID , 'product_cat' );
foreach ($terms_post as $term_cat) {
    $term_cat_id = $term_cat->term_id;
    echo $term_cat_id;
}

原文由 Firefog 发布,翻译遵循 CC BY-SA 4.0 许可协议

在网上找到了一些可能也有效的代码(注意:我自己还没有尝试过)

更新 链接已失效,下面是代码以防万一。

 global $wp_query;
// get the query object
$cat_obj = $wp_query->get_queried_object();

print_r($cat_obj);

if($cat_obj)    {
    $category_name = $cat_obj->name;
    $category_desc = $cat_obj->description;
    $category_ID  = $cat_obj->term_id;
    echo $category_ID;

    // with the `$category_ID`, proceed to your `if/else` statement.
    if( $category_ID == 1){
       echo 'Cat ID is 1';
    }

    if( $category_ID == 2){
       echo 'Cat ID is 2';
    }
}

原文由 blurfus 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏