如何检查 woocommerce 产品是否分配了任何类别? [英] How to check if a woocommerce product has any category assigned to it?
问题描述
我正在创建一个自定义插件,根据分配给产品的标签获取相关产品.我正面临一个问题.当我运行循环时,它会给我一条警告消息.我想检查的是,特定产品是否分配了任何类别.我如何检查是否有任何类别已分配给 woocommerce 产品.请帮我.提前致谢.
I am creating a custom plugin where related products are fetched as per the tags assigned to a product. I am facing an issue. When i run a loop it gives me a warning message. What i want to check is that if the particular product has any category assigned to it. How can i check if any category has been assigned to a woocommerce product. Please help me. Thanks in advance.
我的自定义代码
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 that doesn't work, you could try:
if(!has_term( 'uncategorized', 'product_cat' )){
//do stuff
}
您可以在以下位置了解更多信息:https://codex.wordpress.org/Function_Reference/has_category
You can learn more about it at: https://codex.wordpress.org/Function_Reference/has_category
这篇关于如何检查 woocommerce 产品是否分配了任何类别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!