如何删除添加到 Woocommerce li.product 的类?

0 php wordpress woocommerce taxonomy-terms

Woocommerce 将分配的产品类别和属性作为自定义类添加到 li.product

<li class="post-120 product type-product status-publish has-post-thumbnail 
category1 category2 category3 category4 pa_one pa_two...">
Run Code Online (Sandbox Code Playgroud)

我们为每个产品分配了相当多的类别,这降低了网站的速度。有没有办法删除这些额外的类?

小智 6

在 woocommerce 插件“3.6.2”中,文件“wc-template-functions.php”显示:

// 注意,要更改类,您将需要使用较新的 woocommerce_post_class 过滤器。

因此,要删除我使用的“第一个”和“最后一个”类:

add_filter( 'woocommerce_post_class', 'remove_post_class', 21, 3 ); //woocommerce use priority 20, so if you want to do something after they finish be more lazy
function remove_post_class( $classes ) {
    if ( 'product' == get_post_type() ) {
        $classes = array_diff( $classes, array( 'last','first' ) );
    }
    return $classes;
}
Run Code Online (Sandbox Code Playgroud)

对于我使用的产品类别:

add_filter( 'product_cat_class', 'remove_category_class', 21, 3 ); //woocommerce use priority 20, so if you want to do something after they finish be more lazy
function remove_category_class( $classes ) {
    if ( 'product' == get_post_type() ) {
        $classes = array_diff( $classes, array( 'last','first' ) );
    }
    return $classes;
}
Run Code Online (Sandbox Code Playgroud)