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

时间:2015-11-20 18:45:06

标签: php woocommerce

我想获取产品页面中的当前类别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,我怎么能得到类别名称的字符串呢?

5 个答案:

答案 0 :(得分:6)

使用此代码

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;
}

答案 1 :(得分:2)

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

更新链接已死,代码低于以防万一。

sockets.slice(index,1);

答案 2 :(得分:0)

获取当前类别ID的快捷方式:

$terms = get_the_terms( $post->cat_ID , 'product_cat' );
echo $terms[key($terms)]->slug;

答案 3 :(得分:0)

如果您在产品页面中,则首先需要获取产品ID,例如:

entity.Property(e => e.ValidFrom)
                    .HasColumnName("valid_from")
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("current_timestamp()"); 

然后使用此代码:

$product_id = $product->get_id();

答案 4 :(得分:0)

您可以使用:

$product->get_category_ids()

此方法自WooCommerce 3 see the docs开始可用。