set_virtual( true ); $product->set_regular_price( '10' ); $product->set_sale_price( '5' ); $product->set_category_ids( array( $category['term_id'] ) ); $product->save(); $expected = array( 'foo', 'post-' . $product->get_id(), 'product', 'type-product', 'status-publish', 'product_cat-some-category', 'first', 'instock', 'sale', 'virtual', 'purchasable', 'product-type-simple', ); $this->assertEquals( $expected, array_values( wc_get_product_class( 'foo', $product ) ) ); // All taxonomies. add_filter( 'woocommerce_get_product_class_include_taxonomies', '__return_true' ); $expected = array( 'foo', 'post-' . $product->get_id(), 'product', 'type-product', 'status-publish', 'product_cat-some-category', 'instock', 'sale', 'virtual', 'purchasable', 'product-type-simple', ); $this->assertEquals( $expected, array_values( wc_get_product_class( 'foo', $product ) ) ); add_filter( 'woocommerce_get_product_class_include_taxonomies', '__return_false' ); $product->delete( true ); wp_delete_term( $category['term_id'], 'product_cat' ); } }