Woocommerce - 仅显示产品标题下的 parent 类别
Woocommerce - Displaying only the parent category under the product title
我运行此脚本用于在我的网站上的产品标题下显示产品类别:
function wpa89819_wc_single_product(){
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
if ( $product_cats && ! is_wp_error ( $product_cats ) ){
$single_cat = array_shift( $product_cats ); ?>
<h6 class="woocommerce-loop-product__title"><?php echo $single_cat->name; ?></h6>
<?php }
}
add_action( 'woocommerce_after_shop_loop_item_title', 'wpa89819_wc_single_product', 2 );
它正在运行,但不是我想要的那样。我只想显示每个产品的 parent 类别。目前它似乎选择了最低的 child 类别。
我刚刚开始学习 php,非常感谢任何帮助。
假设您的父类别是顶级类别 - 即,没有自己的父类别 - 您可以安全地使用以下代码:
function wpa89819_wc_single_product() {
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
if ( ! is_wp_error ( $product_cats ) ) { //probably not necessary, but I see you're begin extra-careful...
foreach( $product_cats as $cat ) {
if ( 0 === $cat->parent ) { // top-level cat has "0" as parent ?>
<h6 class="woocommerce-loop-product__title"><?php echo $cat->name; ?></h6>
<?php
break;
}
}
}
}
add_action( 'woocommerce_after_shop_loop_item_title', 'wpa89819_wc_single_product', 2 );
我运行此脚本用于在我的网站上的产品标题下显示产品类别:
function wpa89819_wc_single_product(){
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
if ( $product_cats && ! is_wp_error ( $product_cats ) ){
$single_cat = array_shift( $product_cats ); ?>
<h6 class="woocommerce-loop-product__title"><?php echo $single_cat->name; ?></h6>
<?php }
}
add_action( 'woocommerce_after_shop_loop_item_title', 'wpa89819_wc_single_product', 2 );
它正在运行,但不是我想要的那样。我只想显示每个产品的 parent 类别。目前它似乎选择了最低的 child 类别。
我刚刚开始学习 php,非常感谢任何帮助。
假设您的父类别是顶级类别 - 即,没有自己的父类别 - 您可以安全地使用以下代码:
function wpa89819_wc_single_product() {
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
if ( ! is_wp_error ( $product_cats ) ) { //probably not necessary, but I see you're begin extra-careful...
foreach( $product_cats as $cat ) {
if ( 0 === $cat->parent ) { // top-level cat has "0" as parent ?>
<h6 class="woocommerce-loop-product__title"><?php echo $cat->name; ?></h6>
<?php
break;
}
}
}
}
add_action( 'woocommerce_after_shop_loop_item_title', 'wpa89819_wc_single_product', 2 );