📅  最后修改于: 2023-12-03 14:58:42.080000             🧑  作者: Mango
在 WooCommerce 产品页面上,有时候需要隐藏某些产品类别,比如某些类别只对特定用户可见。这时候需要用到隐藏类别功能。
woocommerce/single-product.php
。<?php if ( $product->get_categories() ) : ?>
<span class="posted_in"><?php _e( 'Category:', 'woocommerce' ); ?></span> <?php echo $product->get_categories( ', ', '<span>', '</span>' ); ?>
<?php endif; ?>
// 隐藏类别
$hidden_categories = array( 'category-1', 'category-2' ); // 需要隐藏的类别的slug
$categories = array();
foreach ( $product->get_category_ids() as $category_id ) {
$category = get_term( $category_id, 'product_cat' );
if ( ! in_array( $category->slug, $hidden_categories ) ) {
$categories[] = '<a href="' . esc_url( get_term_link( $category->slug, 'product_cat' ) ) . '">' . esc_html( $category->name ) . '</a>';
}
}
if ( $categories ) {
echo '<span class="posted_in">' . __( 'Category:', 'woocommerce' ) . '</span> ' . implode( ', ', $categories );
}
category-1
和 category-2
改为需要隐藏的类别的 slug。如果需要隐藏多个类别,直接添加到 hidden_categories
数组中。上述代码片段中,我们首先定义了需要隐藏的类别的 slug。然后,我们用 $product->get_category_ids()
获取当前产品所属的所有类别 ID。接下来,我们对每个类别进行遍历,将非隐藏类别的信息保存到 $categories
数组中。最后,我们判断是否有需要显示的类别,并将它们以逗号分隔的形式展示出来。
以上就是在 WooCommerce 产品页面上隐藏类别的方法。通过这个方法,我们可以轻松地隐藏不需要展示的产品类别,从而使产品页面更加精简和易于浏览。