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

Php 如何在Woocommerce的产品页面中获取当前类别ID?,php,woocommerce,Php,Woocommerce,我想在产品页面中获取当前类别ID,以便在Woocommerce的模板/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( ', ', '

我想在产品页面中获取当前类别ID,以便在Woocommerce的
模板/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>' ); ?>

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

更新链接已失效,代码如下,以防万一

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

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

更新链接已失效,代码如下,以防万一

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';
    }
}
使用此代码

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;
}
使用此代码

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

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

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

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

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

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

$product_id = $product->get_id();
然后使用以下代码:

$terms = get_the_terms( $product_id , 'product_cat' );
            
if ( !empty( $terms ) ) {
    foreach ( $terms as $term ) {
        echo $term->term_id;
    }
}

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

$product_id = $product->get_id();
然后使用以下代码:

$terms = get_the_terms( $product_id , 'product_cat' );
            
if ( !empty( $terms ) ) {
    foreach ( $terms as $term ) {
        echo $term->term_id;
    }
}
您可以使用:

$product->get_category_ids()
此方法自WooCommerce 3开始使用。

您可以使用:

$product->get_category_ids()

此方法自WooCommerce 3开始提供。

请阅读我们的页面以帮助您改进此问题。伟大的问题往往会从社区中产生伟大的答案。至少,你能解释一下你想怎样得到这样的身份证吗?(如javascript、php等)嗨,很抱歉,很难找到我使用的woocommerce插件的单词,我想根据类别ID添加一些内容(它是php)。但是我只需要在simple.php中获取产品id(因为我需要与“添加到购物车”按钮进行交互)->的可能副本,查看该问题的答案是否是您想要的答案嗨,感谢您的回答,但这不是同一个问题。请阅读我们的页面以帮助您改进此问题。伟大的问题往往会从社区中产生伟大的答案。至少,你能解释一下你想怎样得到这样的身份证吗?(如javascript、php等)嗨,很抱歉,很难找到我使用的woocommerce插件的单词,我想根据类别ID添加一些内容(它是php)。但是我只需要在simple.php中获得产品id(因为我需要与“添加到购物车”按钮交互)->的可能副本,看看该问题的答案是否是您想要的嗨,谢谢您的答案,但这不是同一个问题..嗨!谢谢你的回答。我已经使用了此代码,但输出仅显示产品信息。。不是产品所在的类别该类别仅显示产品数据,而不是您的code@ochi啊,我不知道。不幸的是,由于某些原因,我无法撤消投票,但我将在24小时后再次检查它…很好的代码示例,特别是如果您获得了完整的类别对象。我还经常使用的是
get_the_terms($product_id,'product_cat')用于以交替方式获取类别对象。嗨!谢谢你的回答。我已经使用了此代码,但输出仅显示产品信息。。不是产品所在的类别该类别仅显示产品数据,而不是您的code@ochi啊,我不知道。不幸的是,由于某些原因,我无法撤消投票,但我将在24小时后再次检查它…很好的代码示例,特别是如果您获得了完整的类别对象。我还经常使用的是
get_the_terms($product_id,'product_cat')用于以交替方式获取类别对象。@Firefog您至少可以向创建者提供属性:/@Efbi我已更新我的答案。这将工作,我只是测试it@Firefog您至少可以提供创建者的归属:/@Efbi我已经更新了我的答案。这会有用的我只是测试一下