📌  相关文章
📜  隐藏类别 - Woocommerce 产品页面 - PHP (1)

📅  最后修改于: 2023-12-03 14:58:42.080000             🧑  作者: Mango

隐藏类别 - WooCommerce 产品页面 - PHP

在 WooCommerce 产品页面上,有时候需要隐藏某些产品类别,比如某些类别只对特定用户可见。这时候需要用到隐藏类别功能。

使用方法
  1. 打开 WooCommerce 产品页面的模板文件,通常为 woocommerce/single-product.php
  2. 找到显示产品类别的代码段,通常为以下代码片段:
<?php if ( $product->get_categories() ) : ?>
    <span class="posted_in"><?php _e( 'Category:', 'woocommerce' ); ?></span> <?php echo $product->get_categories( ', ', '<span>', '</span>' ); ?>
<?php endif; ?>
  1. 在这段代码的前面或后面加入以下代码片段:
// 隐藏类别
$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 );
}
  1. category-1category-2 改为需要隐藏的类别的 slug。如果需要隐藏多个类别,直接添加到 hidden_categories 数组中。
代码说明

上述代码片段中,我们首先定义了需要隐藏的类别的 slug。然后,我们用 $product->get_category_ids() 获取当前产品所属的所有类别 ID。接下来,我们对每个类别进行遍历,将非隐藏类别的信息保存到 $categories 数组中。最后,我们判断是否有需要显示的类别,并将它们以逗号分隔的形式展示出来。

总结

以上就是在 WooCommerce 产品页面上隐藏类别的方法。通过这个方法,我们可以轻松地隐藏不需要展示的产品类别,从而使产品页面更加精简和易于浏览。