wc_product_post_class()
Adds extra post classes for products via the WordPress post_class hook, if used.
Note: For performance reasons we instead recommend using wc_product_class/wc_get_product_class instead.
No Hooks.
Return
Array
.
Usage
wc_product_post_class( $classes, $class, $post_id );
- $classes(array) (required)
- Current classes.
- $class(string|array)
- Additional class.
Default: '' - $post_id(int)
- Post ID.
Changelog
Since 2.1.0 | Introduced. |
wc_product_post_class() wc product post class code WC 8.7.0
function wc_product_post_class( $classes, $class = '', $post_id = 0 ) { if ( ! $post_id || ! in_array( get_post_type( $post_id ), array( 'product', 'product_variation' ), true ) ) { return $classes; } $product = wc_get_product( $post_id ); if ( ! $product ) { return $classes; } $classes[] = 'product'; $classes[] = wc_get_loop_class(); $classes[] = $product->get_stock_status(); if ( $product->is_on_sale() ) { $classes[] = 'sale'; } if ( $product->is_featured() ) { $classes[] = 'featured'; } if ( $product->is_downloadable() ) { $classes[] = 'downloadable'; } if ( $product->is_virtual() ) { $classes[] = 'virtual'; } if ( $product->is_sold_individually() ) { $classes[] = 'sold-individually'; } if ( $product->is_taxable() ) { $classes[] = 'taxable'; } if ( $product->is_shipping_taxable() ) { $classes[] = 'shipping-taxable'; } if ( $product->is_purchasable() ) { $classes[] = 'purchasable'; } if ( $product->get_type() ) { $classes[] = 'product-type-' . $product->get_type(); } if ( $product->is_type( 'variable' ) && $product->get_default_attributes() ) { $classes[] = 'has-default-attributes'; } $key = array_search( 'hentry', $classes, true ); if ( false !== $key ) { unset( $classes[ $key ] ); } return $classes; }