php - 如何检查 woocommerce 产品是否分配了任何类别?

标签 php wordpress woocommerce

我正在创建一个自定义插件,其中根据分配给产品的标签获取相关产品。我面临一个问题。当我运行一个循环时,它会给我一条警告消息。我想检查的是,如果特定产品有分配给它的任何类别。我如何检查是否已将任何类别分配给 woocommerce 产品。请帮我。提前致谢。

我的自定义代码

while ( $loop->have_posts() ) : $loop->the_post(); 
    global $product;
    global $post;

    $feat_image = wp_get_attachment_url( get_post_thumbnail_id($loop->post->ID) );
    $terms200 = get_the_terms( $loop->post->ID, 'product_cat' );


        // if(!empty($terms200) || $terms200!='' || $terms200!=null){   
    if (get_category($loop->post->ID)->category_count != 0){        
        $content.='<li class="product-small  grid1 grid-normal">';
            $content.='<div class="inner-wrap">';
                $content.='<a href="'.get_the_permalink($loop->post->ID).'">';
                    $content.='<div class="product-image hover_fade_in_back">';
                        $content.='<div class="front-image">';
                            $content.='<img src="'.$feat_image.'" class="attachment-shop_catalog wp-post-image" style="width:247px !important;height:300px !important;" />';
                        $content.='</div>';
                    $content.='</div>';
                $content.='</a>';
                $content .='<div class="info style-grid1">';
                    $content .='<div class="text-center">';
                        $count=1;
                        foreach ( @$terms200 as $term ) {
                                if($count==1){
                                    $content.='<h5 class="category"><a href="'.get_site_url().'/?product_cat='.$term->slug.'" rel="tag">'.$term->name.'</a></h5>';  
                                    $content.='<div class="tx-div small"></div>';   
                                }
                            $count++;
                        }
                        $content .='<a href="'.get_the_permalink($loop->post->ID).'"><p class="name">'.$loop->post->post_title.'</p></a>';
                        if ( $price_html = $product->get_price_html() ) :
                        $content .='<span class="price"><span class="amount">'.$price_html.'</span></span>';
                        endif;
                        $content.='<div class="mycustomcartbuttonbox">[add_to_cart id="'.$loop->post->ID.'"]</div>';                                
                    $content .='</div>';
                $content .='</div>';
            $content.='</div>';
        $content.='</li>';
        echo do_shortcode($content);

    }   

endwhile;

最佳答案

这样做其实很简单。

只需在循环中输入:

if(!has_category("uncategorized")){
 //do stuff
}

如果还是不行,你可以试试:

if(!has_term( 'uncategorized', 'product_cat' )){
  //do stuff
}

您可以在以下位置了解更多信息:https://codex.wordpress.org/Function_Reference/has_category

关于php - 如何检查 woocommerce 产品是否分配了任何类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35033273/

相关文章:

javascript - 使用 PHP 制作 Javascript 数组

php - date() 或 format_date() 返回 1970?

php - 使用数据库中的自定义字段创建 WP 自定义帖子类型

博客场的数据库设计建议

php - Wordpress 在 sql 查询中使用 $_GET

PHP 数组输出为 JSON 格式

javascript - 使用jCrop时如何使头像预览图像流畅

php - 显示有多少人在 WooCommerce 购物车中拥有产品,但向结果添加(临时)随机数

php - 根据 WooCommerce 结账中的分类术语限制支付网关

wordpress - WordPress的。 Woocommerce。 Action Hook 在添加到购物车之前